summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2021-11-13 14:13:20 +0100
committerDaniel Stenberg <daniel@haxx.se>2021-11-13 14:13:20 +0100
commit486c3b457f7efbbc0fc61d9caf855828c58b43d5 (patch)
treecf19e20ddb603505b68d1cc3b2ea2c616ed9c9d0
parent72a63aa46615206034cb91bcb822351249efc714 (diff)
downloadcurl-bagder/test1939-torture.tar.gz
lib1939: make it endure torture testsbagder/test1939-torture
Follow-to to f0b7099a10d1a
-rw-r--r--tests/libtest/lib1939.c55
1 files changed, 26 insertions, 29 deletions
diff --git a/tests/libtest/lib1939.c b/tests/libtest/lib1939.c
index 644617712..510215dbd 100644
--- a/tests/libtest/lib1939.c
+++ b/tests/libtest/lib1939.c
@@ -33,41 +33,38 @@ int test(char *URL)
curl_global_init(CURL_GLOBAL_DEFAULT);
multi = curl_multi_init();
- if(!multi)
- return 1;
+ if(multi) {
+ easy = curl_easy_init();
+ if(easy) {
+ CURLcode c;
+ CURLMcode m;
- easy = curl_easy_init();
- if(easy) {
- CURLcode c;
- CURLMcode m;
+ /* Crash only happens when using HTTPS */
+ c = curl_easy_setopt(easy, CURLOPT_URL, URL);
+ if(!c)
+ /* Any old HTTP tunneling proxy will do here */
+ c = curl_easy_setopt(easy, CURLOPT_PROXY, libtest_arg2);
- /* Crash only happens when using HTTPS */
- c = curl_easy_setopt(easy, CURLOPT_URL, URL);
- if(!c)
- /* Any old HTTP tunneling proxy will do here */
- c = curl_easy_setopt(easy, CURLOPT_PROXY, libtest_arg2);
+ if(!c) {
- if(c)
- return 2;
+ /* We're going to drive the transfer using multi interface here,
+ because we want to stop during the middle. */
+ m = curl_multi_add_handle(multi, easy);
- /* We're going to drive the transfer using multi interface here, because we
- want to stop during the middle. */
- m = curl_multi_add_handle(multi, easy);
+ if(!m)
+ /* Run the multi handle once, just enough to start establishing an
+ HTTPS connection. */
+ m = curl_multi_perform(multi, &running_handles);
- if(!m)
- /* Run the multi handle once, just enough to start establishing an HTTPS
- connection. */
- m = curl_multi_perform(multi, &running_handles);
-
- if(m)
- return 3;
-
- /* Close the easy handle *before* the multi handle. Doing it the other way
- around avoids the issue. */
- curl_easy_cleanup(easy);
+ if(m)
+ fprintf(stderr, "curl_multi_perform failed\n");
+ }
+ /* Close the easy handle *before* the multi handle. Doing it the other
+ way around avoids the issue. */
+ curl_easy_cleanup(easy);
+ }
+ curl_multi_cleanup(multi); /* double-free happens here */
}
- curl_multi_cleanup(multi); /* double-free happens here */
-
curl_global_cleanup();
return CURLE_OK;
}