From 6c62448f72ed9fc2b6a59ee09735283c07060cdb Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Sun, 18 Nov 2012 18:52:19 -0600 Subject: Init global context to toybox multiplexer early so error_exit() doesn't segfault trying to print current command name, and change TOYBOX_DEBUG+TOYBOX_SUID complaint about not having the suid bit set to warning rather than exit.. --- main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.c b/main.c index 0b0987ad..4a9795ca 100644 --- a/main.c +++ b/main.c @@ -71,7 +71,7 @@ void toy_init(struct toy_list *which, char *argv[]) if (!(which->flags & TOYFLAG_STAYROOT)) { if (uid != euid) xsetuid(euid=uid); - } else if (CFG_TOYBOX_DEBUG && uid) error_exit("Not installed suid root"); + } else if (CFG_TOYBOX_DEBUG && uid) error_msg("Not installed suid root"); if ((which->flags & TOYFLAG_NEEDROOT) && euid) error_exit("Not root"); } @@ -113,10 +113,10 @@ void toybox_main(void) static char *toy_paths[]={"usr/","bin/","sbin/",0}; int i, len = 0; + toys.which = toy_list; if (toys.argv[1]) { if (toys.argv[1][0]!='-') { toy_exec(toys.argv+1); - toys.which = toy_list; error_exit("Unknown command %s",toys.argv[1]); } } -- cgit v1.2.3