]> granicus.if.org Git - sudo/commitdiff
Need to set user_name explicitly due to internal changes made when
authorTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 7 Jan 2011 16:56:15 +0000 (11:56 -0500)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 7 Jan 2011 16:56:15 +0000 (11:56 -0500)
converting sudoers to a plugin.

plugins/sudoers/testsudoers.c

index 1a431527846012f2da90ddf7a56df2ccc02d330a..a118dde0f8b3675ecd35c338a7bb7393f9edb795 100644 (file)
@@ -182,12 +182,10 @@ main(int argc, char *argv[])
     if (argc < 2) {
        if (!dflag)
            usage();
-       if ((sudo_user.pw = sudo_getpwnam("nobody")) == NULL)
-            errorx(1, "no passwd entry for nobody!");
+       user_name = "nobody";
        user_cmnd = user_base = "true";
     } else {
-       if ((sudo_user.pw = sudo_getpwnam(*argv)) == NULL)
-            errorx(1, "no passwd entry for %s!", *argv);
+       user_name = *argv;
        user_cmnd = *++argv;
        if ((p = strrchr(user_cmnd, '/')) != NULL)
            user_base = p + 1;
@@ -195,6 +193,8 @@ main(int argc, char *argv[])
            user_base = user_cmnd;
        NewArgc -= 2;
     }
+    if ((sudo_user.pw = sudo_getpwnam(user_name)) == NULL)
+       errorx(1, "no passwd entry for %s!", user_name);
 
     if (user_host == NULL) {
        if (gethostname(hbuf, sizeof(hbuf)) != 0)