summaryrefslogtreecommitdiff
path: root/src/shared/bpf-program.c
diff options
context:
space:
mode:
authorLuca Boccassi <bluca@debian.org>2023-05-05 20:55:48 +0100
committerGitHub <noreply@github.com>2023-05-05 20:55:48 +0100
commit6ad7989ea03064a0ed8e562e1e2f69305b98f633 (patch)
tree175b98b3d4d7392df7a8fabcf03b1719de653cc2 /src/shared/bpf-program.c
parentd685a5f6a4ae8f9eaea1d1c5c78171a915f3b16d (diff)
parentb45e3167089f709c08e4d5112030692c0238df8d (diff)
downloadsystemd-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.c8
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);