samples: bpf: Fix a couple of warnings
cookie_uid_helper_example.c: In function ‘main’:
cookie_uid_helper_example.c:178:69: warning: ‘ -j ACCEPT’ directive
writing 10 bytes into a region of size between 8 and 58
[-Wformat-overflow=]
178 | sprintf(rules, "iptables -A OUTPUT -m bpf --object-pinned %s -j ACCEPT",
| ^~~~~~~~~~
/home/kkd/src/linux/samples/bpf/cookie_uid_helper_example.c:178:9: note:
‘sprintf’ output between 53 and 103 bytes into a destination of size 100
178 | sprintf(rules, "iptables -A OUTPUT -m bpf --object-pinned %s -j ACCEPT",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
179 | file);
| ~~~~~
Fix by using snprintf and a sufficiently sized buffer.
tracex4_user.c:35:15: warning: ‘write’ reading 12 bytes from a region of
size 11 [-Wstringop-overread]
35 | key = write(1, "\e[1;1H\e[2J", 12); /* clear screen */
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Use size as 11.
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20210821002010.845777-2-memxor@gmail.com
This commit is contained in:
committed by
Alexei Starovoitov
parent
d7af7e497f
commit
50b796e645
@@ -167,7 +167,7 @@ static void prog_load(void)
|
||||
static void prog_attach_iptables(char *file)
|
||||
{
|
||||
int ret;
|
||||
char rules[100];
|
||||
char rules[256];
|
||||
|
||||
if (bpf_obj_pin(prog_fd, file))
|
||||
error(1, errno, "bpf_obj_pin");
|
||||
@@ -175,8 +175,13 @@ static void prog_attach_iptables(char *file)
|
||||
printf("file path too long: %s\n", file);
|
||||
exit(1);
|
||||
}
|
||||
sprintf(rules, "iptables -A OUTPUT -m bpf --object-pinned %s -j ACCEPT",
|
||||
file);
|
||||
ret = snprintf(rules, sizeof(rules),
|
||||
"iptables -A OUTPUT -m bpf --object-pinned %s -j ACCEPT",
|
||||
file);
|
||||
if (ret < 0 || ret >= sizeof(rules)) {
|
||||
printf("error constructing iptables command\n");
|
||||
exit(1);
|
||||
}
|
||||
ret = system(rules);
|
||||
if (ret < 0) {
|
||||
printf("iptables rule update failed: %d/n", WEXITSTATUS(ret));
|
||||
|
||||
@@ -32,7 +32,7 @@ static void print_old_objects(int fd)
|
||||
__u64 key, next_key;
|
||||
struct pair v;
|
||||
|
||||
key = write(1, "\e[1;1H\e[2J", 12); /* clear screen */
|
||||
key = write(1, "\e[1;1H\e[2J", 11); /* clear screen */
|
||||
|
||||
key = -1;
|
||||
while (bpf_map_get_next_key(fd, &key, &next_key) == 0) {
|
||||
|
||||
Reference in New Issue
Block a user