Forráskód Böngészése

core: don't do initgroups() if started by same user as -u
- closing FS#473

Ovidiu Sas 10 éve
szülő
commit
df92a532f8
1 módosított fájl, 5 hozzáadás és 5 törlés
  1. 5 5
      daemonize.c

+ 5 - 5
daemonize.c

@@ -465,12 +465,12 @@ int do_suid()
 			LM_CRIT("user lookup failed: %s\n", strerror(errno));
 			goto error;
 		}
-		if(initgroups(pw->pw_name, pw->pw_gid)<0){
-			LM_CRIT("cannot set supplementary groups: %s\n", 
-							strerror(errno));
-			goto error;
-		}
 		if(uid!=getuid()) {
+			if(initgroups(pw->pw_name, pw->pw_gid)<0){
+				LM_CRIT("cannot set supplementary groups: %s\n", 
+							strerror(errno));
+				goto error;
+			}
 			if(setuid(uid)<0){
 				LM_CRIT("cannot change uid to %d: %s\n", uid, strerror(errno));
 				goto error;