diff options
author | Peter Stephenson <p.w.stephenson@ntlworld.com> | 2015-01-18 22:38:57 +0000 |
---|---|---|
committer | Peter Stephenson <p.w.stephenson@ntlworld.com> | 2015-01-18 22:38:57 +0000 |
commit | c6c9f5daf2e196e6ab7346dfbf5f5166a1d87f0c (patch) | |
tree | de064fa6ba629549d42868b7016dd3c28bfb0e34 /Src/Zle/compresult.c | |
parent | 6856ab39e32e0cba96fcdae004878938125890ac (diff) | |
download | zsh-c6c9f5daf2e196e6ab7346dfbf5f5166a1d87f0c.tar.gz zsh-c6c9f5daf2e196e6ab7346dfbf5f5166a1d87f0c.tar.xz zsh-c6c9f5daf2e196e6ab7346dfbf5f5166a1d87f0c.zip |
34322: bug with interface to parsestr() etc.
Was showing up in places like ${(e)...} where command substitution could reallocate the token string, but actually there was never any guarantee that the lexer wouldn't do that, so this was always a bit iffy.
Diffstat (limited to 'Src/Zle/compresult.c')
-rw-r--r-- | Src/Zle/compresult.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Src/Zle/compresult.c b/Src/Zle/compresult.c index dbef7f841..9f383f4b8 100644 --- a/Src/Zle/compresult.c +++ b/Src/Zle/compresult.c @@ -1090,7 +1090,8 @@ do_single(Cmatch m) } if (tryit) { noerrs = 1; - parsestr(p); + p = dupstring(p); + parsestr(&p); singsub(&p); errflag &= ~ERRFLAG_ERROR; noerrs = ne; |