--- suX/src/sux.c 2013/04/09 15:44:28 1.3.2.5 +++ suX/src/sux.c 2013/04/09 15:51:11 1.3.2.6 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ - * $Id: sux.c,v 1.3.2.5 2013/04/09 15:44:28 misho Exp $ + * $Id: sux.c,v 1.3.2.6 2013/04/09 15:51:11 misho Exp $ * *************************************************************************/ #include "global.h" @@ -253,24 +253,14 @@ Run(char **argv, char flg) } if (flg & SUX_GET_FORCE) { - if (setegid(AIT_GET_I16(&proc.proc_gid)) == -1) { - ESYSERR(0); - if (args) - e_free(args); - return -1; - } - if (seteuid(AIT_GET_I16(&proc.proc_uid)) == -1) { - ESYSERR(0); - if (args) - e_free(args); - return -1; - } - if (setpriority(PRIO_PROCESS, 0, AIT_GET_I32(&proc.proc_prio)) == -1) { - ESYSERR(0); - if (args) - e_free(args); - return -1; - } + /* + if (setegid(AIT_GET_I16(&proc.proc_gid)) == -1) + goto err; + if (seteuid(AIT_GET_I16(&proc.proc_uid)) == -1) + goto err; + */ + if (setpriority(PRIO_PROCESS, 0, AIT_GET_I32(&proc.proc_prio)) == -1) + goto err; } DumpProc(__func__); @@ -284,9 +274,10 @@ Run(char **argv, char flg) fflush(lf); execve(cmd, args, environ); +err: + ESYSERR(0); if (args) e_free(args); - ESYSERR(0); return -1; }