about summary refs log tree commit diff
path: root/Src/exec.c
diff options
context:
space:
mode:
authorBart Schaefer <barts@users.sourceforge.net>2005-02-02 04:51:13 +0000
committerBart Schaefer <barts@users.sourceforge.net>2005-02-02 04:51:13 +0000
commitfacf0309bb9c6a0f1fd3641f0006065789b4b7b8 (patch)
tree1009f34951742e6128407ee7f92b577c75c6552a /Src/exec.c
parentbac7c055c755a962c086827719d4547a6186cd8b (diff)
downloadzsh-facf0309bb9c6a0f1fd3641f0006065789b4b7b8.tar.gz
zsh-facf0309bb9c6a0f1fd3641f0006065789b4b7b8.tar.xz
zsh-facf0309bb9c6a0f1fd3641f0006065789b4b7b8.zip
20774: fix e.g. "FOO=BAR BAR=FOO echo" failure to unset FOO after finishing.
Diffstat (limited to 'Src/exec.c')
-rw-r--r--Src/exec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Src/exec.c b/Src/exec.c
index b718903ab..abee8329e 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -2554,10 +2554,10 @@ save_params(Estate state, Wordcode pc, LinkList *restore_p, LinkList *remove_p)
 		copyparam(tpm, pm, 1);
 		pm = tpm;
 	    }
-	    addlinknode(*remove_p, s);
+	    addlinknode(*remove_p, dupstring(s));
 	    addlinknode(*restore_p, pm);
 	} else
-	    addlinknode(*remove_p, s);
+	    addlinknode(*remove_p, dupstring(s));
 
 	pc += (WC_ASSIGN_TYPE(ac) == WC_ASSIGN_SCALAR ?
 	       3 : WC_ASSIGN_NUM(ac) + 2);