samples: bpf: fix: seg fault with NULL pointer arg
Subsystems (3)
PATCH v2 1/1 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 <[email protected]>
--- samples/bpf/bpf_load.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
samples/bpf/bpf_load.c +3 -1
@@ -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 ;
Signature · 1 line
2.17.1
Quoted 8 lines · Daniel T. Lee
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 <[email protected]>
Acked-by Song Liu <[email protected]>
Quoted 22 lines
--- samples/bpf/bpf_load.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)samples/bpf/bpf_load.c +3
-2@@ -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
Quoted 7 lines · Daniel T. Lee
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 <[email protected]>
Applied to bpf-next, thanks!