diff options
-rw-r--r-- | shell/ash.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/shell/ash.c b/shell/ash.c index 3fe4714c2..db943f6c7 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -8944,12 +8944,12 @@ evalfun(struct funcnode *func, int argc, char **argv, int flags) | |||
8944 | 8944 | ||
8945 | saveparam = shellparam; | 8945 | saveparam = shellparam; |
8946 | savelocalvars = localvars; | 8946 | savelocalvars = localvars; |
8947 | savehandler = exception_handler; | ||
8947 | e = setjmp(jmploc.loc); | 8948 | e = setjmp(jmploc.loc); |
8948 | if (e) { | 8949 | if (e) { |
8949 | goto funcdone; | 8950 | goto funcdone; |
8950 | } | 8951 | } |
8951 | INT_OFF; | 8952 | INT_OFF; |
8952 | savehandler = exception_handler; | ||
8953 | exception_handler = &jmploc; | 8953 | exception_handler = &jmploc; |
8954 | localvars = NULL; | 8954 | localvars = NULL; |
8955 | shellparam.malloced = 0; | 8955 | shellparam.malloced = 0; |
@@ -9595,10 +9595,10 @@ evalbltin(const struct builtincmd *cmd, int argc, char **argv) | |||
9595 | int i; | 9595 | int i; |
9596 | 9596 | ||
9597 | savecmdname = commandname; | 9597 | savecmdname = commandname; |
9598 | savehandler = exception_handler; | ||
9598 | i = setjmp(jmploc.loc); | 9599 | i = setjmp(jmploc.loc); |
9599 | if (i) | 9600 | if (i) |
9600 | goto cmddone; | 9601 | goto cmddone; |
9601 | savehandler = exception_handler; | ||
9602 | exception_handler = &jmploc; | 9602 | exception_handler = &jmploc; |
9603 | commandname = argv[0]; | 9603 | commandname = argv[0]; |
9604 | argptr = argv + 1; | 9604 | argptr = argv + 1; |