diff options
author | Luca Boccassi <bluca@debian.org> | 2023-05-05 20:55:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-05 20:55:48 +0100 |
commit | 6ad7989ea03064a0ed8e562e1e2f69305b98f633 (patch) | |
tree | 175b98b3d4d7392df7a8fabcf03b1719de653cc2 /src/shared/bpf-program.c | |
parent | d685a5f6a4ae8f9eaea1d1c5c78171a915f3b16d (diff) | |
parent | b45e3167089f709c08e4d5112030692c0238df8d (diff) | |
download | systemd-6ad7989ea03064a0ed8e562e1e2f69305b98f633.tar.gz |
Merge pull request #27536 from dtardon/checked-fd-parsing
Always check parsed fds for validity
Diffstat (limited to 'src/shared/bpf-program.c')
-rw-r--r-- | src/shared/bpf-program.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/shared/bpf-program.c b/src/shared/bpf-program.c index f4bb7f390c..d924a973ec 100644 --- a/src/shared/bpf-program.c +++ b/src/shared/bpf-program.c @@ -449,11 +449,11 @@ int bpf_program_deserialize_attachment(const char *v, FDSet *fds, BPFProgram **b if (r == 0) return -EINVAL; - r = safe_atoi(sfd, &ifd); - if (r < 0) - return r; - if (ifd < 0) + ifd = parse_fd(sfd); + if (ifd == -ERANGE) return -EBADF; + if (ifd < 0) + return r; /* Extract second word: the attach type */ r = extract_first_word(&v, &sat, NULL, 0); |