From: Giovanni Giacobbi Date: Tue, 27 Jul 2021 12:39:28 +0000 (+0200) Subject: logd: fix privilege dropping order X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=1f4f72bde55e8c5810db4ead4170352febd2dbfb;p=project%2Fubox.git logd: fix privilege dropping order Fixes: 41664054b8b1 ("logd: fix ignored return values in set{gid,uid}") Signed-off-by: Giovanni Giacobbi --- 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); } }