]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
tool_getparam: use correct free function for libcurl memory
authorDaniel Stenberg <daniel@haxx.se>
Mon, 23 Mar 2026 14:04:21 +0000 (15:04 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 24 Mar 2026 07:49:20 +0000 (08:49 +0100)
Memory returned from curl_easy_escape() should be fred with curl_free()
to avoid surprises.

Follow-up to f37840a46e5eddaf109c16fa7

Spotted by Codex Security
Closes #21075

src/tool_getparam.c

index eac6cafd0ce1c64c1b1dd3aafac1ed0edbe40767..791a55c790b5d7443851337f4b730235ee235865 100644 (file)
@@ -727,7 +727,11 @@ static ParameterError data_urlencode(const char *nextarg,
         size = curlx_dyn_len(&dyn);
       }
       else {
-        n = enc;
+        /* make sure we return "our memory" */
+        n = curlx_strdup(enc);
+        curl_free(enc);
+        if(!n)
+          return PARAM_NO_MEM;
         size = strlen(n);
       }
       postdata = n;