=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/sudo/Attic/sudo.c,v retrieving revision 1.24.2.1 retrieving revision 1.25 diff -c -r1.24.2.1 -r1.25 *** src/usr.bin/sudo/Attic/sudo.c 2005/06/21 00:17:41 1.24.2.1 --- src/usr.bin/sudo/Attic/sudo.c 2005/05/31 21:13:43 1.25 *************** *** 275,282 **** /* Validate the user but don't search for pseudo-commands. */ validated = sudoers_lookup(pwflag); } - if (safe_cmnd == NULL) - safe_cmnd = user_cmnd; /* * If we are using set_perms_posix() and the stay_setuid flag was not set, --- 275,280 ---- *************** *** 393,398 **** --- 391,404 ---- exit(0); } + /* This *must* have been set if we got a match but... */ + if (safe_cmnd == NULL) { + log_error(MSG_ONLY, + "internal error, safe_cmnd never got set for %s; %s", + user_cmnd, + "please report this error at http://courtesan.com/sudo/bugs/"); + } + /* Override user's umask if configured to do so. */ if (def_umask != 0777) (void) umask(def_umask); *************** *** 895,904 **** (statbuf.st_mode & 07777), SUDOERS_MODE); else if (statbuf.st_uid != SUDOERS_UID) log_error(0, "%s is owned by uid %lu, should be %lu", _PATH_SUDOERS, ! (unsigned long) statbuf.st_uid, SUDOERS_UID); else if (statbuf.st_gid != SUDOERS_GID) log_error(0, "%s is owned by gid %lu, should be %lu", _PATH_SUDOERS, ! (unsigned long) statbuf.st_gid, SUDOERS_GID); else { /* Solaris sometimes returns EAGAIN so try 10 times */ for (i = 0; i < 10 ; i++) { --- 901,910 ---- (statbuf.st_mode & 07777), SUDOERS_MODE); else if (statbuf.st_uid != SUDOERS_UID) log_error(0, "%s is owned by uid %lu, should be %lu", _PATH_SUDOERS, ! (unsigned long) statbuf.st_uid, (unsigned long) SUDOERS_UID); else if (statbuf.st_gid != SUDOERS_GID) log_error(0, "%s is owned by gid %lu, should be %lu", _PATH_SUDOERS, ! (unsigned long) statbuf.st_gid, (unsigned long) SUDOERS_GID); else { /* Solaris sometimes returns EAGAIN so try 10 times */ for (i = 0; i < 10 ; i++) { *************** *** 1080,1086 **** } else if (def_targetpw) { if (runas_pw->pw_name == NULL) log_error(NO_MAIL|MSG_ONLY, "no passwd entry for %lu!", ! runas_pw->pw_uid); pw = runas_pw; } else pw = sudo_user.pw; --- 1086,1092 ---- } else if (def_targetpw) { if (runas_pw->pw_name == NULL) log_error(NO_MAIL|MSG_ONLY, "no passwd entry for %lu!", ! (unsigned long) runas_pw->pw_uid); pw = runas_pw; } else pw = sudo_user.pw;