aboutsummaryrefslogtreecommitdiff
path: root/tests/data
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2018-06-14 16:28:59 +0200
committerDaniel Stenberg <daniel@haxx.se>2018-06-16 12:01:27 +0200
commitac9a179fe980f1a78438a791671e22671ebb6451 (patch)
tree4ac3b096f2d1ce523621175da41c0d41cfaf2525 /tests/data
parent676f4b742df634afc862a8e2ee9bd717d7efd03d (diff)
multi: fix memory leak when stopped during name resolve
When the application just started the transfer and then stops it while the name resolve in the background thread hasn't completed, we need to wait for the resolve to complete and then cleanup data accordingly. Enabled test 1553 again and added test 1590 to also check when the host name resolves successfully. Detected by OSS-fuzz. Closes #1968
Diffstat (limited to 'tests/data')
-rw-r--r--tests/data/DISABLED2
-rw-r--r--tests/data/Makefile.inc2
-rw-r--r--tests/data/test15534
-rw-r--r--tests/data/test159054
4 files changed, 59 insertions, 3 deletions
diff --git a/tests/data/DISABLED b/tests/data/DISABLED
index fcbf0ffc4..11d54b463 100644
--- a/tests/data/DISABLED
+++ b/tests/data/DISABLED
@@ -18,5 +18,3 @@
1510
# Pipelining test that is causing false positives a little too often
1903
-# causes memory leaks for now:
-1553
diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc
index c7dcaaa27..9d0781f0e 100644
--- a/tests/data/Makefile.inc
+++ b/tests/data/Makefile.inc
@@ -176,6 +176,8 @@ test1525 test1526 test1527 test1528 test1529 test1530 test1531 test1532 \
test1533 test1534 test1535 test1536 test1537 test1538 \
test1540 \
test1550 test1551 test1552 test1553 test1554 test1555 test1556 \
+\
+test1590 \
test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 \
test1608 test1609 \
\
diff --git a/tests/data/test1553 b/tests/data/test1553
index c2fb9cc32..5e793b391 100644
--- a/tests/data/test1553
+++ b/tests/data/test1553
@@ -38,7 +38,9 @@ IMAP cleanup before a connection was created
<tool>
lib1553
</tool>
- <command>
+
+# this MUST use a host name that doesn't resolve
+<command>
imap://non-existing-host.haxx.se:%IMAPPORT/1553
</command>
</client>
diff --git a/tests/data/test1590 b/tests/data/test1590
new file mode 100644
index 000000000..b605022af
--- /dev/null
+++ b/tests/data/test1590
@@ -0,0 +1,54 @@
+<testcase>
+<info>
+<keywords>
+IMAP
+Clear Text
+FETCH
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+</data>
+<datacheck>
+</datacheck>
+<servercmd>
+</servercmd>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+imap
+</server>
+ <name>
+IMAP cleanup before a connection was created
+ </name>
+# tool is what to use instead of 'curl'
+<tool>
+lib1553
+</tool>
+
+# it is important this uses a host name that resolves successfully
+<command>
+imap://localhost:%IMAPPORT/1590
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+</protocol>
+</verify>
+</testcase>