Re: [PATCH v2] samples: bpf: fix: seg fault with NULL pointer arg
On 12/03/2018 11:39 AM, Daniel T. Lee wrote: > When NULL pointer accidentally passed to write_kprobe_events, > due to strlen(NULL), segmentation fault happens. > Changed code returns -1 to deal with this situation. > > Bug issued with Smatch, static analysis. > > Signed-off-by: Daniel T. Lee Applied to bpf-next, thanks!
Re: [PATCH v2] samples: bpf: fix: seg fault with NULL pointer arg
On Mon, Dec 3, 2018 at 2:40 AM Daniel T. Lee wrote: > > When NULL pointer accidentally passed to write_kprobe_events, > due to strlen(NULL), segmentation fault happens. > Changed code returns -1 to deal with this situation. > > Bug issued with Smatch, static analysis. > > Signed-off-by: Daniel T. Lee Acked-by: Song Liu > --- > samples/bpf/bpf_load.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/samples/bpf/bpf_load.c b/samples/bpf/bpf_load.c > index 434ea34a5954..eae7b635343d 100644 > --- a/samples/bpf/bpf_load.c > +++ b/samples/bpf/bpf_load.c > @@ -58,7 +58,9 @@ static int write_kprobe_events(const char *val) > { > int fd, ret, flags; > > - if ((val != NULL) && (val[0] == '\0')) > + if (val == NULL) > + return -1; > + else if (val[0] == '\0') > flags = O_WRONLY | O_TRUNC; > else > flags = O_WRONLY | O_APPEND; > -- > 2.17.1 >
[PATCH v2] samples: bpf: fix: seg fault with NULL pointer arg
When NULL pointer accidentally passed to write_kprobe_events, due to strlen(NULL), segmentation fault happens. Changed code returns -1 to deal with this situation. Bug issued with Smatch, static analysis. Signed-off-by: Daniel T. Lee --- samples/bpf/bpf_load.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/samples/bpf/bpf_load.c b/samples/bpf/bpf_load.c index 434ea34a5954..eae7b635343d 100644 --- a/samples/bpf/bpf_load.c +++ b/samples/bpf/bpf_load.c @@ -58,7 +58,9 @@ static int write_kprobe_events(const char *val) { int fd, ret, flags; - if ((val != NULL) && (val[0] == '\0')) + if (val == NULL) + return -1; + else if (val[0] == '\0') flags = O_WRONLY | O_TRUNC; else flags = O_WRONLY | O_APPEND; -- 2.17.1