summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorivan <ivan@13f79535-47bb-0310-9956-ffa450edef68>2022-06-19 11:16:15 +0000
committerivan <ivan@13f79535-47bb-0310-9956-ffa450edef68>2022-06-19 11:16:15 +0000
commit53cdaacde32862051f782265479d768712e380d0 (patch)
tree148d9bcf24ca73dbd15dd230a9eeb57adcf6d004 /misc
parent15867f1274aa96f0d1f5a66fb91d10d98ab43e2a (diff)
downloadlibapr-53cdaacde32862051f782265479d768712e380d0.tar.gz
win32: Fix double free on exit when apr_app is used on Windows. [Ivan Zhakov]
* CHANGES: Add changelog entry. * misc/win32/apr_app.c (wmain): Do not free _wenviron -- MSVCRT automatically free 'initial' environment block on exit. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1902059 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'misc')
-rw-r--r--misc/win32/apr_app.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/misc/win32/apr_app.c b/misc/win32/apr_app.c
index f1b6ce57c..4b1874f33 100644
--- a/misc/win32/apr_app.c
+++ b/misc/win32/apr_app.c
@@ -91,9 +91,11 @@ int wmain(int argc, const wchar_t **wargv, const wchar_t **wenv)
* Reset _wenviron for good measure.
*/
if (_wenviron) {
- wenv = _wenviron;
_wenviron = NULL;
- free((wchar_t **)wenv);
+
+ /* There is no need to free _wenviron because MSVCRT
+ * automatically free 'initial' environment block.
+ */
}
apr_app_init_complete = 1;