From 1f4f72bde55e8c5810db4ead4170352febd2dbfb Mon Sep 17 00:00:00 2001 From: Giovanni Giacobbi Date: Tue, 27 Jul 2021 14:39:28 +0200 Subject: [PATCH] logd: fix privilege dropping order Fixes: 41664054b8b1 ("logd: fix ignored return values in set{gid,uid}") Signed-off-by: Giovanni Giacobbi --- log/logd.c | 8 ++++---- 1 file 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); } } -- 2.30.2