diff options
author | Daniel T. Lee <danieltimlee@gmail.com> | 2018-12-03 19:39:30 +0900 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-11-06 13:05:30 +0100 |
commit | 335d4f8182461f650ae5b931084d4134579674c9 (patch) | |
tree | 4dd85de50cf12756f2b87daf88a17226cd54b4f4 /samples/bpf | |
parent | c41f30e8d2338dd89a2310742e4671ff31c57ea3 (diff) | |
download | linux-stable-335d4f8182461f650ae5b931084d4134579674c9.tar.gz linux-stable-335d4f8182461f650ae5b931084d4134579674c9.tar.bz2 linux-stable-335d4f8182461f650ae5b931084d4134579674c9.zip |
samples: bpf: fix: seg fault with NULL pointer arg
[ Upstream commit d59dd69d5576d699d7d3f5da0b4738c3a36d0133 ]
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 <danieltimlee@gmail.com>
Acked-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'samples/bpf')
-rw-r--r-- | samples/bpf/bpf_load.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/samples/bpf/bpf_load.c b/samples/bpf/bpf_load.c index 5061a2ec4564..176c04a454dc 100644 --- a/samples/bpf/bpf_load.c +++ b/samples/bpf/bpf_load.c @@ -59,7 +59,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; |