summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--stream.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 811376a7..8109c752 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2015-03-11 Kaz Kylheku <kaz@kylheku.com>
+ * stream.c (run): In Windows version, fix nasty corruption bug:
+ we were freeing C strings that were not duplicated, but only borrowed
+ from string objects.
+
+2015-03-11 Kaz Kylheku <kaz@kylheku.com>
+
* stream.c (open_process, run): Eliminate utf8name local variable
and associated memory leak. Correctly allocate only nargs + 1 elements
for argv array, not nargs + 2.
diff --git a/stream.c b/stream.c
index b29098a0..94eaf2e4 100644
--- a/stream.c
+++ b/stream.c
@@ -2457,8 +2457,6 @@ static val run(val command, val args)
status = _wspawnvp(_P_WAIT, c_str(command), wargv);
- for (i = 0; i < nargs; i++)
- free(strip_qual(wchar_t *, wargv[i]));
free(strip_qual(wchar_t **, wargv));
rel1(&args);