diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 7 |
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) { |