about summary refs log tree commit diff
path: root/Src/init.c
diff options
context:
space:
mode:
authorBarton E. Schaefer <schaefer@zsh.org>2015-06-16 16:57:32 -0700
committerBarton E. Schaefer <schaefer@zsh.org>2015-06-16 17:02:53 -0700
commit19b37ef565072abcbea02cfa4d0295b49f41cfe2 (patch)
tree771bee7b7407fab7a2cd54d1e1c00550de2c1a06 /Src/init.c
parent54c2c442eeee46b28d5596e7e83812df01d1f13f (diff)
downloadzsh-19b37ef565072abcbea02cfa4d0295b49f41cfe2.tar.gz
zsh-19b37ef565072abcbea02cfa4d0295b49f41cfe2.tar.xz
zsh-19b37ef565072abcbea02cfa4d0295b49f41cfe2.zip
35482: be consistent about how argzero is allocated
Diffstat (limited to 'Src/init.c')
-rw-r--r--Src/init.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Src/init.c b/Src/init.c
index 102276a64..0fe4d758c 100644
--- a/Src/init.c
+++ b/Src/init.c
@@ -1117,8 +1117,9 @@ setupshin(char *runscript)
 	    exit(127);
 	}
 	scriptfilename = sfname;
-	zsfree(argzero); /* ztrdup'd in parseargs */
-	argzero = runscript;
+	sfname = argzero; /* copy to avoid race condition */
+	argzero = ztrdup(runscript);
+	zsfree(sfname); /* argzero ztrdup'd in parseargs */
     }
     /*
      * We only initialise line numbering once there is a script to