summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2021-07-06 16:41:28 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2021-07-20 18:00:38 +0200
commit5f2d3e45aa156f5fe215c2fd609082423fdd6fc5 (patch)
tree6520e1133a7c6a0a5e9d45f04f7d34abd4b6ccad
parent01bd34c18ccb49b536c4d8ce7dac68e4e5893d4d (diff)
downloadsystemd-5f2d3e45aa156f5fe215c2fd609082423fdd6fc5.tar.gz
tmpfiles: fix borked assert
It seems that fd_set_perms() is always called after checking that fd >= 0 (also when called as action() in glob_item_recursively()), so it seems that the assertion really came from fd==0. Fixes #20140. Also three other similar cases are updated. (cherry picked from commit b4b0f87c6275dde32769c2e75231caa1d4c21f9b) (cherry picked from commit 1dcecfc50b6c4db3b76b81765403f84c06ecf225)
-rw-r--r--src/tmpfiles/tmpfiles.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
index a1f4213923..341f83fd5a 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
@@ -837,7 +837,7 @@ static int fd_set_perms(Item *i, int fd, const char *path, const struct stat *st
int r;
assert(i);
- assert(fd);
+ assert(fd >= 0);
assert(path);
if (!i->mode_set && !i->uid_set && !i->gid_set)
@@ -1021,7 +1021,7 @@ static int fd_set_xattrs(Item *i, int fd, const char *path, const struct stat *s
char **name, **value;
assert(i);
- assert(fd);
+ assert(fd >= 0);
assert(path);
xsprintf(procfs_path, "/proc/self/fd/%i", fd);
@@ -1124,7 +1124,7 @@ static int fd_set_acls(Item *item, int fd, const char *path, const struct stat *
struct stat stbuf;
assert(item);
- assert(fd);
+ assert(fd >= 0);
assert(path);
if (!st) {
@@ -1278,7 +1278,7 @@ static int fd_set_attribute(Item *item, int fd, const char *path, const struct s
int r;
assert(item);
- assert(fd);
+ assert(fd >= 0);
assert(path);
if (!item->attribute_set || item->attribute_mask == 0)