diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-03-11 06:31:53 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-03-11 06:31:53 -0700 |
commit | d2ae3852c54f0b12ce1843ea5d670ff4aa5e1b0f (patch) | |
tree | df65d0864a337cb9bb7ac32f5bb5e1f5c1f23fb5 | |
parent | 62e9321f4511bd4e1c1c0142767d5fa2eec07d59 (diff) | |
download | txr-d2ae3852c54f0b12ce1843ea5d670ff4aa5e1b0f.tar.gz txr-d2ae3852c54f0b12ce1843ea5d670ff4aa5e1b0f.tar.bz2 txr-d2ae3852c54f0b12ce1843ea5d670ff4aa5e1b0f.zip |
* 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.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | stream.c | 2 |
2 files changed, 6 insertions, 2 deletions
@@ -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. @@ -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); |