aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main.c b/src/main.c
index 12ff3db91..1558d18f2 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2934,8 +2934,13 @@ operate(struct Configurable *config, int argc, char *argv[])
env = curlx_getenv("CURL_MEMDEBUG");
if(env) {
/* use the value as file name */
- curl_memdebug(env);
+ char *s = strdup(env);
curl_free(env);
+ curl_memdebug(s);
+ free(s);
+ /* this weird strdup() and stuff here is to make the curl_free() get
+ called before the memdebug() as otherwise the memdebug tracing will
+ with tracing a free() without an alloc! */
}
env = curlx_getenv("CURL_MEMLIMIT");
if(env) {