diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2019-03-03 21:57:50 +0800 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2019-03-28 21:18:03 +0800 |
commit | 02a00569ba60e502f876c36d894ba0cc2d0682b3 (patch) | |
tree | 3a47da47723a0872aee38196a4b1039c78bdd25f /src/main.h | |
parent | expand: Fix double-decrement in argstr (diff) | |
download | dash-02a00569ba60e502f876c36d894ba0cc2d0682b3.tar.gz dash-02a00569ba60e502f876c36d894ba0cc2d0682b3.zip |
eval: Reset handler when entering a subshell
As it is a subshell can execute code that is only meant for the parent shell when it executes a longjmp that is caught by something like evalcommand. This patch fixes it by resetting the handler when entering a subshell. Reported-by: Martijn Dekker <martijn@inlv.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'src/main.h')
-rw-r--r-- | src/main.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/main.h b/src/main.h index 19e4983..51f1604 100644 --- a/src/main.h +++ b/src/main.h @@ -52,3 +52,4 @@ extern int *dash_errno; void readcmdfile(char *); int dotcmd(int, char **); int exitcmd(int, char **); +void reset_handler(void); |