diff options
| author | Rob Landley <rob@landley.net> | 2012-11-18 18:52:19 -0600 | 
|---|---|---|
| committer | Rob Landley <rob@landley.net> | 2012-11-18 18:52:19 -0600 | 
| commit | 6c62448f72ed9fc2b6a59ee09735283c07060cdb (patch) | |
| tree | 7db6399267c2e8918c3f9e25c868d6fc5f36519a | |
| parent | 491eb800ef69a5e06f798372db8b32c87051ea90 (diff) | |
| download | toybox-6c62448f72ed9fc2b6a59ee09735283c07060cdb.tar.gz | |
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..
| -rw-r--r-- | main.c | 4 | 
1 files changed, 2 insertions, 2 deletions
| @@ -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]);      }    } | 
