]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
Curl_http_body: cleanup properly when Curl_getformdata errors
authorDaniel Stenberg <daniel@haxx.se>
Tue, 28 Nov 2023 07:49:49 +0000 (15:49 +0800)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 28 Nov 2023 21:57:22 +0000 (22:57 +0100)
Reported-by: yushicheng7788 on github
Based-on-work-by: yushicheng7788 on github
Fixes #12410
Closes #12421

lib/http.c

index 45748dd293dc54ce3459ab994aab37d0e18a849d..be6d442e8b81e713d9c7d0f5a714de4b47c4eec5 100644 (file)
@@ -2439,8 +2439,10 @@ CURLcode Curl_http_body(struct Curl_easy *data, struct connectdata *conn,
       Curl_mime_cleanpart(data->state.formp);
       result = Curl_getformdata(data, data->state.formp, data->set.httppost,
                                 data->state.fread_func);
-      if(result)
+      if(result) {
+        Curl_safefree(data->state.formp);
         return result;
+      }
       data->state.mimepost = data->state.formp;
     }
     break;