tty, cwd, runas_user);
break;
+ case NO_CMND_SAFE:
+ (void) sprintf(p,
+ "internal error, cmnd_safe never got set for %s; %s", cmnd,
+ "please report this error to sudo-bugs@courtesan.com");
+ break;
+
#ifdef HAVE_KERB5
case GLOBAL_KRB5_INIT_ERR:
(void) sprintf(p, "Could not initialize Kerberos V");
"Resource allocation failure.\n");
break;
+ case NO_CMND_SAFE:
+ (void) fprintf(stderr,
+ "Internal error, cmnd_safe never got set for %s\n", cmnd);
+ break;
+
default:
(void) fprintf(stderr,
"Something weird happened.\n\n");
case BAD_STAMPDIR:
case BAD_STAMPFILE:
case BAD_ALLOCATION:
+ case NO_CMND_SAFE:
default:
return (1);
break;
if ((sudo_mode & MODE_RESET_HOME) && runas_homedir)
(void) sudo_setenv("HOME", runas_homedir);
+ /* this *must* have been set if we got a match but... */
+ if (cmnd_safe == NULL) {
+ inform_user(NO_CMND_SAFE);
+ exit(1);
+ }
#ifndef PROFILING
if ((sudo_mode & MODE_BACKGROUND) && fork() > 0)
exit(0);
#define BAD_STAMPDIR 0x0C
#define BAD_STAMPFILE 0x0D
#define BAD_ALLOCATION 0x0E
+#define NO_CMND_SAFE 0x0F
#ifdef HAVE_KERB5
-#define GLOBAL_KRB5_INIT_ERR ( 0x0F | GLOBAL_PROBLEM )
+#define GLOBAL_KRB5_INIT_ERR ( 0x10 | GLOBAL_PROBLEM )
#endif /* HAVE_KERB5 */
/*