Cannot wrap sigsetjmp() or we end up returning to the wrong place.

Use a macro instead.
This commit is contained in:
Todd C. Miller
2012-11-29 06:37:13 -05:00
parent 02ad501ecc
commit b7ae7977a6
7 changed files with 36 additions and 41 deletions

View File

@@ -233,7 +233,7 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
(void) sigaction(SIGTSTP, &sa, &saved_sa_tstp);
/* XXX - would like to move this to policy.c but need the cleanup. */
if (plugin_setjmp() != 0) {
if (error_setjmp() != 0) {
/* error recovery via error(), errorx() or log_fatal() */
rval = -1;
goto done;
@@ -524,7 +524,7 @@ bad:
rval = false;
done:
plugin_clearjmp();
error_disable_setjmp();
rewind_perms();
/* Restore signal handlers before we exec. */