summaryrefslogtreecommitdiff
path: root/Src/init.c
diff options
context:
space:
mode:
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