diff options
author | Patrick Monnerat <patrick@monnerat.net> | 2017-12-20 19:33:50 +0100 |
---|---|---|
committer | Patrick Monnerat <patrick@monnerat.net> | 2017-12-20 19:33:50 +0100 |
commit | f009bbe1f625b19236dc2ed57726b2f0f39a27c4 (patch) | |
tree | 53b31cfeac77d4069e2229d984e15e64ecd9129b /tests | |
parent | 4acc9d3d1a6774f4c00079bdba0fafc51afcbd6a (diff) |
curl_easy_reset: release mime-related data.
Move curl_mime_initpart() and curl_mime_cleanpart() calls to lower-level
functions dealing with UserDefined structure contents.
This avoids memory leakages on curl-generated part mime headers.
New test 2073 checks this using the cli tool --next option: it
triggers a valgrind error if bug is present.
Bug: https://curl.haxx.se/mail/lib-2017-12/0060.html
Reported-by: Martin Galvan
Diffstat (limited to 'tests')
-rw-r--r-- | tests/data/Makefile.inc | 2 | ||||
-rw-r--r-- | tests/data/test2073 | 68 |
2 files changed, 69 insertions, 1 deletions
diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc index d8721512d..5784bbb58 100644 --- a/tests/data/Makefile.inc +++ b/tests/data/Makefile.inc @@ -189,4 +189,4 @@ test2048 test2049 test2050 test2051 test2052 test2053 test2054 test2055 \ test2056 test2057 test2058 test2059 test2060 test2061 test2062 test2063 \ test2064 test2065 test2066 test2067 test2068 test2069 \ \ -test2070 test2071 test2072 +test2070 test2071 test2072 test2073 diff --git a/tests/data/test2073 b/tests/data/test2073 new file mode 100644 index 000000000..ed942f018 --- /dev/null +++ b/tests/data/test2073 @@ -0,0 +1,68 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP FORMPOST +</keywords> +</info> +# +# Server-side +<reply> +<data> +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Content-Length: 10 + +contents1 +</data> +<data1> +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Content-Length: 10 + +contents2 +</data1> +</reply> + +# +# Client-side +<client> +<server> +http +</server> + <name> +HTTP form posts with handle reset + </name> + <command> +http://%HOSTIP:%HTTPPORT/2073 -F 'name=a;filename=a.pdf' --next http://%HOSTIP:%HTTPPORT/2073 -F 'name=b;filename=b.jpg' +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<strip> +^(User-Agent:|Content-Type: multipart/form-data;|------------).* +</strip> +<protocol> +POST /2073 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 189
+
+Content-Disposition: form-data; name="name"; filename="a.pdf"
+Content-Type: application/pdf
+
+a
+POST /2073 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 184
+
+Content-Disposition: form-data; name="name"; filename="b.jpg"
+Content-Type: image/jpeg
+
+b
+</protocol> +</verify> +</testcase> |