summaryrefslogtreecommitdiff
path: root/src/shared/varlink.c
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2023-05-05 09:10:49 +0200
committerDavid Tardon <dtardon@redhat.com>2023-05-05 09:10:56 +0200
commite652663a043cb80936bb12ad5c87766fc5150c24 (patch)
tree0be9d85c11057f6b66b3f4604c27fd85051a7599 /src/shared/varlink.c
parent754d8b9c330150fdb3767491e24975f7dfe2a203 (diff)
downloadsystemd-e652663a043cb80936bb12ad5c87766fc5150c24.tar.gz
tree-wide: use parse_fd()
Diffstat (limited to 'src/shared/varlink.c')
-rw-r--r--src/shared/varlink.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/shared/varlink.c b/src/shared/varlink.c
index 808e2b2dba..a4936bff26 100644
--- a/src/shared/varlink.c
+++ b/src/shared/varlink.c
@@ -3060,12 +3060,12 @@ int varlink_server_deserialize_one(VarlinkServer *s, const char *value, FDSet *f
n = strcspn(v, " ");
buf = strndupa_safe(v, n);
- r = safe_atoi(buf, &fd);
- if (r < 0)
- return log_debug_errno(r, "Unable to parse VarlinkServerSocket varlink-server-socket-fd=%s: %m", buf);
- if (fd < 0)
+ fd = parse_fd(buf);
+ if (fd == -ERANGE)
return log_debug_errno(SYNTHETIC_ERRNO(EINVAL),
- "VarlinkServerSocket varlink-server-socket-fd= has an invalid value: %d", fd);
+ "VarlinkServerSocket varlink-server-socket-fd= has an invalid value: %s", buf);
+ if (fd < 0)
+ return log_debug_errno(fd, "Unable to parse VarlinkServerSocket varlink-server-socket-fd=%s: %m", buf);
if (!fdset_contains(fds, fd))
return log_debug_errno(SYNTHETIC_ERRNO(EBADF),
"VarlinkServerSocket varlink-server-socket-fd= has unknown fd %d: %m", fd);