summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiovanni Giacobbi <giovanni@giacobbi.net>2021-07-27 14:39:28 +0200
committerDaniel Golle <daniel@makrotopia.org>2021-08-03 21:45:30 +0100
commit1f4f72bde55e8c5810db4ead4170352febd2dbfb (patch)
tree95643fa99dbc43f3c27f849f1a1b98390c344ab4
parent41664054b8b1bc19d842421c49d1b4d612ff8297 (diff)
downloadubox-1f4f72bde55e8c5810db4ead4170352febd2dbfb.tar.gz
logd: fix privilege dropping order
Fixes: 41664054b8b1 ("logd: fix ignored return values in set{gid,uid}") Signed-off-by: Giovanni Giacobbi <giovanni@giacobbi.net>
-rw-r--r--log/logd.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/log/logd.c b/log/logd.c
index 5d6c458..594b1e0 100644
--- a/log/logd.c
+++ b/log/logd.c
@@ -260,13 +260,13 @@ main(int argc, char **argv)
ubus_auto_connect(&conn);
p = getpwnam("logd");
if (p) {
- if (setuid(p->pw_uid) < 0) {
- fprintf(stderr, "setuid() failed: %s\n", strerror(errno));
+ if (setgid(p->pw_gid) < 0) {
+ fprintf(stderr, "setgid() failed: %s\n", strerror(errno));
exit(1);
}
- if (setgid(p->pw_gid) < 0) {
- fprintf(stderr, "setgid() failed: %s\n", strerror(errno));
+ if (setuid(p->pw_uid) < 0) {
+ fprintf(stderr, "setuid() failed: %s\n", strerror(errno));
exit(1);
}
}