Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=fw32.git;a=commitdiff;h=a5459b3f468d38fd6bf3ea7d5360c5c2a1fb89bb
commit a5459b3f468d38fd6bf3ea7d5360c5c2a1fb89bb Author: James Buren <r...@frugalware.org> Date: Thu Nov 3 04:58:42 2011 -0500 fw32.c: fix run diff --git a/fw32.c b/fw32.c index 1f49f92..8785dce 100644 --- a/fw32.c +++ b/fw32.c @@ -189,14 +189,14 @@ ismounted(const char *path) } static void -run(const char *cmd,const char *dir,bool drop,char **args) +run(const char *cmd,const char *dir,bool drop,char **args1) { char path[PATH_MAX]; struct stat st; pid_t id; int status; - assert(cmd && dir && args); + assert(cmd && dir && args1); snprintf(path,sizeof path,"%s%s",FW32_ROOT,cmd); @@ -212,6 +212,12 @@ run(const char *cmd,const char *dir,bool drop,char **args) if(!id) { + char *args2[] = + { + cmd, + 0 + }; + if(chroot(FW32_ROOT)) error("Failed to enter chroot %s.",FW32_ROOT); @@ -222,7 +228,7 @@ run(const char *cmd,const char *dir,bool drop,char **args) if(setuid(getuid()) || seteuid(getuid())) error("Failed to drop root privileges.\n"); - execv(cmd,args); + execv(cmd,args_merge(0,args2,args1)); _exit(EXIT_FAILURE); } @@ -382,7 +388,6 @@ fw32_upgrade(void) }; char *args2[] = { - "/usr/bin/fc-cache", "--force", "--system-only", 0 _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git