selinux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] libselinux:add check for malloc
@ 2022-11-29 12:00 Jie Lu
  2022-12-16 14:15 ` James Carter
  0 siblings, 1 reply; 3+ messages in thread
From: Jie Lu @ 2022-11-29 12:00 UTC (permalink / raw)
  To: selinux

Add return check for regex_data_create() to avoid NULL reference of regex_data

(gdb) bt
 #0  0x00007fbde5caec14 in pthread_mutex_init () from /usr/lib64/libc.so.6
 #1  0x00007fbde5e3a489 in regex_data_create () at regex.c:260
 #2  0x00007fbde5e3a4af in regex_prepare_data (regex=regex@entry=0x7fbde4613770, pattern_string=pattern_string@entry=0x563c6799a820 "^/home$", errordata=errordata@entry=0x7ffeb83fa950) at regex.c:76
 #3  0x00007fbde5e32fe6 in compile_regex (errbuf=0x0, spec=0x7fbde4613748) at label_file.h:407
 #4  lookup_all (key=0x563c679974e5 "/var/log/kadmind.log", type=<optimized out>, partial=partial@entry=false, match_count=match_count@entry=0x0, rec=<optimized out>, rec=<optimized out>)
     at label_file.c:949
 #5  0x00007fbde5e33350 in lookup (rec=<optimized out>, key=<optimized out>, type=<optimized out>) at label_file.c:1092
 #6  0x00007fbde5e31878 in selabel_lookup_common (rec=0x563c67998cc0, translating=1, key=<optimized out>, type=<optimized out>) at label.c:167

Signed-off-by: Jie Lu <lujie54@huawei.com>
---
 libselinux/src/regex.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libselinux/src/regex.c b/libselinux/src/regex.c
index 73987d9f..149a7973 100644
--- a/libselinux/src/regex.c
+++ b/libselinux/src/regex.c
@@ -257,6 +257,9 @@ struct regex_data *regex_data_create(void)
 {
 	struct regex_data *regex_data =
 		(struct regex_data *)calloc(1, sizeof(struct regex_data));
+	if (!regex_data)
+		return NULL;
+
 	__pthread_mutex_init(&regex_data->match_mutex, NULL);
 	return regex_data;
 }
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] libselinux:add check for malloc
  2022-11-29 12:00 [PATCH] libselinux:add check for malloc Jie Lu
@ 2022-12-16 14:15 ` James Carter
  2022-12-16 22:01   ` James Carter
  0 siblings, 1 reply; 3+ messages in thread
From: James Carter @ 2022-12-16 14:15 UTC (permalink / raw)
  To: Jie Lu; +Cc: selinux

On Tue, Nov 29, 2022 at 9:45 AM Jie Lu <lujie54@huawei.com> wrote:
>
> Add return check for regex_data_create() to avoid NULL reference of regex_data
>
> (gdb) bt
>  #0  0x00007fbde5caec14 in pthread_mutex_init () from /usr/lib64/libc.so.6
>  #1  0x00007fbde5e3a489 in regex_data_create () at regex.c:260
>  #2  0x00007fbde5e3a4af in regex_prepare_data (regex=regex@entry=0x7fbde4613770, pattern_string=pattern_string@entry=0x563c6799a820 "^/home$", errordata=errordata@entry=0x7ffeb83fa950) at regex.c:76
>  #3  0x00007fbde5e32fe6 in compile_regex (errbuf=0x0, spec=0x7fbde4613748) at label_file.h:407
>  #4  lookup_all (key=0x563c679974e5 "/var/log/kadmind.log", type=<optimized out>, partial=partial@entry=false, match_count=match_count@entry=0x0, rec=<optimized out>, rec=<optimized out>)
>      at label_file.c:949
>  #5  0x00007fbde5e33350 in lookup (rec=<optimized out>, key=<optimized out>, type=<optimized out>) at label_file.c:1092
>  #6  0x00007fbde5e31878 in selabel_lookup_common (rec=0x563c67998cc0, translating=1, key=<optimized out>, type=<optimized out>) at label.c:167
>
> Signed-off-by: Jie Lu <lujie54@huawei.com>

Acked-by: James Carter <jwcart2@gmail.com>

> ---
>  libselinux/src/regex.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/libselinux/src/regex.c b/libselinux/src/regex.c
> index 73987d9f..149a7973 100644
> --- a/libselinux/src/regex.c
> +++ b/libselinux/src/regex.c
> @@ -257,6 +257,9 @@ struct regex_data *regex_data_create(void)
>  {
>         struct regex_data *regex_data =
>                 (struct regex_data *)calloc(1, sizeof(struct regex_data));
> +       if (!regex_data)
> +               return NULL;
> +
>         __pthread_mutex_init(&regex_data->match_mutex, NULL);
>         return regex_data;
>  }
> --
> 2.27.0
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] libselinux:add check for malloc
  2022-12-16 14:15 ` James Carter
@ 2022-12-16 22:01   ` James Carter
  0 siblings, 0 replies; 3+ messages in thread
From: James Carter @ 2022-12-16 22:01 UTC (permalink / raw)
  To: Jie Lu; +Cc: selinux

On Fri, Dec 16, 2022 at 9:15 AM James Carter <jwcart2@gmail.com> wrote:
>
> On Tue, Nov 29, 2022 at 9:45 AM Jie Lu <lujie54@huawei.com> wrote:
> >
> > Add return check for regex_data_create() to avoid NULL reference of regex_data
> >
> > (gdb) bt
> >  #0  0x00007fbde5caec14 in pthread_mutex_init () from /usr/lib64/libc.so.6
> >  #1  0x00007fbde5e3a489 in regex_data_create () at regex.c:260
> >  #2  0x00007fbde5e3a4af in regex_prepare_data (regex=regex@entry=0x7fbde4613770, pattern_string=pattern_string@entry=0x563c6799a820 "^/home$", errordata=errordata@entry=0x7ffeb83fa950) at regex.c:76
> >  #3  0x00007fbde5e32fe6 in compile_regex (errbuf=0x0, spec=0x7fbde4613748) at label_file.h:407
> >  #4  lookup_all (key=0x563c679974e5 "/var/log/kadmind.log", type=<optimized out>, partial=partial@entry=false, match_count=match_count@entry=0x0, rec=<optimized out>, rec=<optimized out>)
> >      at label_file.c:949
> >  #5  0x00007fbde5e33350 in lookup (rec=<optimized out>, key=<optimized out>, type=<optimized out>) at label_file.c:1092
> >  #6  0x00007fbde5e31878 in selabel_lookup_common (rec=0x563c67998cc0, translating=1, key=<optimized out>, type=<optimized out>) at label.c:167
> >
> > Signed-off-by: Jie Lu <lujie54@huawei.com>
>
> Acked-by: James Carter <jwcart2@gmail.com>
>

Merged.
Thanks,
Jim

> > ---
> >  libselinux/src/regex.c | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/libselinux/src/regex.c b/libselinux/src/regex.c
> > index 73987d9f..149a7973 100644
> > --- a/libselinux/src/regex.c
> > +++ b/libselinux/src/regex.c
> > @@ -257,6 +257,9 @@ struct regex_data *regex_data_create(void)
> >  {
> >         struct regex_data *regex_data =
> >                 (struct regex_data *)calloc(1, sizeof(struct regex_data));
> > +       if (!regex_data)
> > +               return NULL;
> > +
> >         __pthread_mutex_init(&regex_data->match_mutex, NULL);
> >         return regex_data;
> >  }
> > --
> > 2.27.0
> >

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-12-16 22:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-29 12:00 [PATCH] libselinux:add check for malloc Jie Lu
2022-12-16 14:15 ` James Carter
2022-12-16 22:01   ` James Carter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).