You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
321 lines
18 KiB
321 lines
18 KiB
From 48b69def52771149ed19189284b8c6d1ba667ef7 Mon Sep 17 00:00:00 2001 |
|
From: Linus Nielsen Feltzing <linus@haxx.se> |
|
Date: Sun, 10 Feb 2013 22:57:58 +0100 |
|
Subject: [PATCH] Fix NULL pointer reference when closing an unused multi handle. |
|
|
|
[upstream commit da3fc1ee91de656a30f3a12de394bcba55119872] |
|
|
|
Signed-off-by: Kamil Dudka <kdudka@redhat.com> |
|
--- |
|
lib/multi.c | 8 +++-- |
|
tests/data/Makefile.am | 2 +- |
|
tests/data/Makefile.in | 2 +- |
|
tests/data/test1508 | 31 +++++++++++++++++ |
|
tests/libtest/Makefile.in | 79 ++++++++++++++++++++++++++++++++++++++++++-- |
|
tests/libtest/Makefile.inc | 6 +++- |
|
tests/libtest/lib1508.c | 49 +++++++++++++++++++++++++++ |
|
7 files changed, 168 insertions(+), 9 deletions(-) |
|
create mode 100644 tests/data/test1508 |
|
create mode 100644 tests/libtest/lib1508.c |
|
|
|
diff --git a/lib/multi.c b/lib/multi.c |
|
index fa0afb9..706df23 100644 |
|
--- a/lib/multi.c |
|
+++ b/lib/multi.c |
|
@@ -1773,10 +1773,12 @@ CURLMcode curl_multi_cleanup(CURLM *multi_handle) |
|
/* Close all the connections in the connection cache */ |
|
close_all_connections(multi); |
|
|
|
- multi->closure_handle->dns.hostcache = multi->hostcache; |
|
- Curl_hostcache_clean(multi->closure_handle); |
|
+ if(multi->closure_handle) { |
|
+ multi->closure_handle->dns.hostcache = multi->hostcache; |
|
+ Curl_hostcache_clean(multi->closure_handle); |
|
|
|
- Curl_close(multi->closure_handle); |
|
+ Curl_close(multi->closure_handle); |
|
+ } |
|
multi->closure_handle = NULL; |
|
|
|
Curl_hash_destroy(multi->sockhash); |
|
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am |
|
index d82534d..9f569a3 100644 |
|
--- a/tests/data/Makefile.am |
|
+++ b/tests/data/Makefile.am |
|
@@ -93,7 +93,7 @@ test1379 test1380 test1381 test1382 test1383 test1384 test1385 test1386 \ |
|
test1387 test1388 test1389 test1390 test1391 test1392 test1393 \ |
|
test1400 test1401 test1402 test1403 test1404 test1405 test1406 test1407 \ |
|
test1408 test1409 test1410 test1411 test1412 test1413 \ |
|
-test1500 test1501 test1502 test1503 test1504 test1505 test1506 \ |
|
+test1500 test1501 test1502 test1503 test1504 test1505 test1506 test1508 \ |
|
test2000 test2001 test2002 test2003 test2004 test2005 test2006 test2007 \ |
|
test2008 test2009 test2010 test2011 test2012 test2013 test2014 test2015 \ |
|
test2016 test2017 test2018 test2019 test2020 test2021 test2022 \ |
|
diff --git a/tests/data/Makefile.in b/tests/data/Makefile.in |
|
index df52421..d5b0918 100644 |
|
--- a/tests/data/Makefile.in |
|
+++ b/tests/data/Makefile.in |
|
@@ -357,7 +357,7 @@ test1379 test1380 test1381 test1382 test1383 test1384 test1385 test1386 \ |
|
test1387 test1388 test1389 test1390 test1391 test1392 test1393 \ |
|
test1400 test1401 test1402 test1403 test1404 test1405 test1406 test1407 \ |
|
test1408 test1409 test1410 test1411 test1412 test1413 \ |
|
-test1500 test1501 test1502 test1503 test1504 test1505 test1506 \ |
|
+test1500 test1501 test1502 test1503 test1504 test1505 test1506 test1508 \ |
|
test2000 test2001 test2002 test2003 test2004 test2005 test2006 test2007 \ |
|
test2008 test2009 test2010 test2011 test2012 test2013 test2014 test2015 \ |
|
test2016 test2017 test2018 test2019 test2020 test2021 test2022 \ |
|
diff --git a/tests/data/test1508 b/tests/data/test1508 |
|
new file mode 100644 |
|
index 0000000..f8607e5 |
|
--- /dev/null |
|
+++ b/tests/data/test1508 |
|
@@ -0,0 +1,31 @@ |
|
+<testcase> |
|
+<info> |
|
+<keywords> |
|
+HTTP |
|
+multi |
|
+</keywords> |
|
+</info> |
|
+ |
|
+# Client-side |
|
+<client> |
|
+<server> |
|
+none |
|
+</server> |
|
+<tool> |
|
+lib1508 |
|
+</tool> |
|
+ <name> |
|
+Close a multi handle without using it |
|
+ </name> |
|
+ <command> |
|
+http://%HOSTIP:%HTTPPORT/path/1508 |
|
+</command> |
|
+</client> |
|
+ |
|
+# Verify data after the test has been "shot" |
|
+<verify> |
|
+<file name="log/stdout1508" mode="text"> |
|
+We are done |
|
+</file> |
|
+</verify> |
|
+</testcase> |
|
diff --git a/tests/libtest/Makefile.in b/tests/libtest/Makefile.in |
|
index 406b457..7683c09 100644 |
|
--- a/tests/libtest/Makefile.in |
|
+++ b/tests/libtest/Makefile.in |
|
@@ -85,7 +85,7 @@ noinst_PROGRAMS = chkhostname$(EXEEXT) libauthretry$(EXEEXT) \ |
|
lib591$(EXEEXT) lib597$(EXEEXT) lib598$(EXEEXT) \ |
|
lib599$(EXEEXT) lib1500$(EXEEXT) lib1501$(EXEEXT) \ |
|
lib1502$(EXEEXT) lib1503$(EXEEXT) lib1504$(EXEEXT) \ |
|
- lib1505$(EXEEXT) lib1506$(EXEEXT) |
|
+ lib1505$(EXEEXT) lib1506$(EXEEXT) lib1508$(EXEEXT) |
|
subdir = tests/libtest |
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
|
am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \ |
|
@@ -173,6 +173,13 @@ am_lib1506_OBJECTS = lib1506-lib1506.$(OBJEXT) $(am__objects_18) \ |
|
$(am__objects_19) $(am__objects_20) |
|
lib1506_OBJECTS = $(am_lib1506_OBJECTS) |
|
lib1506_DEPENDENCIES = $(am__DEPENDENCIES_1) |
|
+am__objects_151 = lib1508-first.$(OBJEXT) |
|
+am__objects_152 = lib1508-testutil.$(OBJEXT) |
|
+am__objects_153 = lib1508-warnless.$(OBJEXT) |
|
+am_lib1508_OBJECTS = lib1508-lib1508.$(OBJEXT) $(am__objects_151) \ |
|
+ $(am__objects_152) $(am__objects_153) |
|
+lib1508_OBJECTS = $(am_lib1508_OBJECTS) |
|
+lib1508_DEPENDENCIES = $(am__DEPENDENCIES_1) |
|
am__objects_21 = lib500-first.$(OBJEXT) |
|
am__objects_22 = lib500-testutil.$(OBJEXT) |
|
am__objects_23 = lib500-testtrace.$(OBJEXT) |
|
@@ -632,7 +639,7 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ |
|
SOURCES = $(libhostname_la_SOURCES) $(chkhostname_SOURCES) \ |
|
$(lib1500_SOURCES) $(lib1501_SOURCES) $(lib1502_SOURCES) \ |
|
$(lib1503_SOURCES) $(lib1504_SOURCES) $(lib1505_SOURCES) \ |
|
- $(lib1506_SOURCES) $(lib500_SOURCES) $(lib501_SOURCES) \ |
|
+ $(lib1506_SOURCES) $(lib1508_SOURCES) $(lib500_SOURCES) $(lib501_SOURCES) \ |
|
$(lib502_SOURCES) $(lib503_SOURCES) $(lib504_SOURCES) \ |
|
$(lib505_SOURCES) $(lib506_SOURCES) $(lib507_SOURCES) \ |
|
$(lib508_SOURCES) $(lib510_SOURCES) $(lib511_SOURCES) \ |
|
@@ -662,7 +669,7 @@ SOURCES = $(libhostname_la_SOURCES) $(chkhostname_SOURCES) \ |
|
DIST_SOURCES = $(libhostname_la_SOURCES) $(chkhostname_SOURCES) \ |
|
$(lib1500_SOURCES) $(lib1501_SOURCES) $(lib1502_SOURCES) \ |
|
$(lib1503_SOURCES) $(lib1504_SOURCES) $(lib1505_SOURCES) \ |
|
- $(lib1506_SOURCES) $(lib500_SOURCES) $(lib501_SOURCES) \ |
|
+ $(lib1506_SOURCES) $(lib1508_SOURCES) $(lib500_SOURCES) $(lib501_SOURCES) \ |
|
$(lib502_SOURCES) $(lib503_SOURCES) $(lib504_SOURCES) \ |
|
$(lib505_SOURCES) $(lib506_SOURCES) $(lib507_SOURCES) \ |
|
$(lib508_SOURCES) $(lib510_SOURCES) $(lib511_SOURCES) \ |
|
@@ -1155,6 +1162,9 @@ lib1505_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1505 |
|
lib1506_SOURCES = lib1506.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) |
|
lib1506_LDADD = $(TESTUTIL_LIBS) |
|
lib1506_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1506 |
|
+lib1508_SOURCES = lib1508.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) |
|
+lib1508_LDADD = $(TESTUTIL_LIBS) |
|
+lib1508_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1508 |
|
@BUILD_LIBHOSTNAME_FALSE@noinst_LTLIBRARIES = |
|
|
|
# Makefile.inc provides the source defines (TESTUTIL, SUPPORTFILES, |
|
@@ -1253,6 +1263,9 @@ lib1505$(EXEEXT): $(lib1505_OBJECTS) $(lib1505_DEPENDENCIES) $(EXTRA_lib1505_DEP |
|
lib1506$(EXEEXT): $(lib1506_OBJECTS) $(lib1506_DEPENDENCIES) $(EXTRA_lib1506_DEPENDENCIES) |
|
@rm -f lib1506$(EXEEXT) |
|
$(LINK) $(lib1506_OBJECTS) $(lib1506_LDADD) $(LIBS) |
|
+lib1508$(EXEEXT): $(lib1508_OBJECTS) $(lib1508_DEPENDENCIES) $(EXTRA_lib1508_DEPENDENCIES) |
|
+ @rm -f lib1508$(EXEEXT) |
|
+ $(LINK) $(lib1508_OBJECTS) $(lib1508_LDADD) $(LIBS) |
|
lib500$(EXEEXT): $(lib500_OBJECTS) $(lib500_DEPENDENCIES) $(EXTRA_lib500_DEPENDENCIES) |
|
@rm -f lib500$(EXEEXT) |
|
$(LINK) $(lib500_OBJECTS) $(lib500_LDADD) $(LIBS) |
|
@@ -1520,6 +1533,10 @@ distclean-compile: |
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1506-lib1506.Po@am__quote@ |
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1506-testutil.Po@am__quote@ |
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1506-warnless.Po@am__quote@ |
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1508-first.Po@am__quote@ |
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1508-lib1508.Po@am__quote@ |
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1508-testutil.Po@am__quote@ |
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1508-warnless.Po@am__quote@ |
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-first.Po@am__quote@ |
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-lib500.Po@am__quote@ |
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-testtrace.Po@am__quote@ |
|
@@ -2163,6 +2180,62 @@ lib1506-warnless.obj: ../../lib/warnless.c |
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
|
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1506_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1506-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` |
|
|
|
+lib1508-lib1508.o: lib1508.c |
|
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1508_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1508-lib1508.o -MD -MP -MF $(DEPDIR)/lib1508-lib1508.Tpo -c -o lib1508-lib1508.o `test -f 'lib1508.c' || echo '$(srcdir)/'`lib1508.c |
|
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lib1508-lib1508.Tpo $(DEPDIR)/lib1508-lib1508.Po |
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib1508.c' object='lib1508-lib1508.o' libtool=no @AMDEPBACKSLASH@ |
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
|
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1508_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1508-lib1508.o `test -f 'lib1508.c' || echo '$(srcdir)/'`lib1508.c |
|
+ |
|
+lib1508-lib1508.obj: lib1508.c |
|
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1508_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1508-lib1508.obj -MD -MP -MF $(DEPDIR)/lib1508-lib1508.Tpo -c -o lib1508-lib1508.obj `if test -f 'lib1508.c'; then $(CYGPATH_W) 'lib1508.c'; else $(CYGPATH_W) '$(srcdir)/lib1508.c'; fi` |
|
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lib1508-lib1508.Tpo $(DEPDIR)/lib1508-lib1508.Po |
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib1508.c' object='lib1508-lib1508.obj' libtool=no @AMDEPBACKSLASH@ |
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
|
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1508_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1508-lib1508.obj `if test -f 'lib1508.c'; then $(CYGPATH_W) 'lib1508.c'; else $(CYGPATH_W) '$(srcdir)/lib1508.c'; fi` |
|
+ |
|
+lib1508-first.o: first.c |
|
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1508_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1508-first.o -MD -MP -MF $(DEPDIR)/lib1508-first.Tpo -c -o lib1508-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c |
|
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lib1508-first.Tpo $(DEPDIR)/lib1508-first.Po |
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='first.c' object='lib1508-first.o' libtool=no @AMDEPBACKSLASH@ |
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
|
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1508_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1508-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c |
|
+ |
|
+lib1508-first.obj: first.c |
|
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1508_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1508-first.obj -MD -MP -MF $(DEPDIR)/lib1508-first.Tpo -c -o lib1508-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi` |
|
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lib1508-first.Tpo $(DEPDIR)/lib1508-first.Po |
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='first.c' object='lib1508-first.obj' libtool=no @AMDEPBACKSLASH@ |
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
|
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1508_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1508-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi` |
|
+ |
|
+lib1508-testutil.o: testutil.c |
|
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1508_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1508-testutil.o -MD -MP -MF $(DEPDIR)/lib1508-testutil.Tpo -c -o lib1508-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c |
|
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lib1508-testutil.Tpo $(DEPDIR)/lib1508-testutil.Po |
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutil.c' object='lib1508-testutil.o' libtool=no @AMDEPBACKSLASH@ |
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
|
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1508_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1508-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c |
|
+ |
|
+lib1508-testutil.obj: testutil.c |
|
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1508_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1508-testutil.obj -MD -MP -MF $(DEPDIR)/lib1508-testutil.Tpo -c -o lib1508-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi` |
|
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lib1508-testutil.Tpo $(DEPDIR)/lib1508-testutil.Po |
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutil.c' object='lib1508-testutil.obj' libtool=no @AMDEPBACKSLASH@ |
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
|
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1508_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1508-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi` |
|
+ |
|
+lib1508-warnless.o: ../../lib/warnless.c |
|
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1508_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1508-warnless.o -MD -MP -MF $(DEPDIR)/lib1508-warnless.Tpo -c -o lib1508-warnless.o `test -f '../../lib/warnless.c' || echo '$(srcdir)/'`../../lib/warnless.c |
|
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lib1508-warnless.Tpo $(DEPDIR)/lib1508-warnless.Po |
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../../lib/warnless.c' object='lib1508-warnless.o' libtool=no @AMDEPBACKSLASH@ |
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
|
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1508_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1508-warnless.o `test -f '../../lib/warnless.c' || echo '$(srcdir)/'`../../lib/warnless.c |
|
+ |
|
+lib1508-warnless.obj: ../../lib/warnless.c |
|
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1508_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1508-warnless.obj -MD -MP -MF $(DEPDIR)/lib1508-warnless.Tpo -c -o lib1508-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` |
|
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lib1508-warnless.Tpo $(DEPDIR)/lib1508-warnless.Po |
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../../lib/warnless.c' object='lib1508-warnless.obj' libtool=no @AMDEPBACKSLASH@ |
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
|
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1508_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1508-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` |
|
+ |
|
lib500-lib500.o: lib500.c |
|
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib500_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib500-lib500.o -MD -MP -MF $(DEPDIR)/lib500-lib500.Tpo -c -o lib500-lib500.o `test -f 'lib500.c' || echo '$(srcdir)/'`lib500.c |
|
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lib500-lib500.Tpo $(DEPDIR)/lib500-lib500.Po |
|
diff --git a/tests/libtest/Makefile.inc b/tests/libtest/Makefile.inc |
|
index 82c265d..8bf2be4 100644 |
|
--- a/tests/libtest/Makefile.inc |
|
+++ b/tests/libtest/Makefile.inc |
|
@@ -23,7 +23,7 @@ noinst_PROGRAMS = chkhostname libauthretry libntlmconnect \ |
|
lib582 lib583 lib585 lib586 lib587 \ |
|
lib590 lib591 lib597 lib598 lib599 \ |
|
\ |
|
- lib1500 lib1501 lib1502 lib1503 lib1504 lib1505 lib1506 |
|
+ lib1500 lib1501 lib1502 lib1503 lib1504 lib1505 lib1506 lib1508 |
|
|
|
chkhostname_SOURCES = chkhostname.c ../../lib/curl_gethostname.c |
|
chkhostname_LDADD = @CURL_NETWORK_LIBS@ |
|
@@ -312,3 +312,7 @@ lib1505_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1505 |
|
lib1506_SOURCES = lib1506.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) |
|
lib1506_LDADD = $(TESTUTIL_LIBS) |
|
lib1506_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1506 |
|
+ |
|
+lib1508_SOURCES = lib1508.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) |
|
+lib1508_LDADD = $(TESTUTIL_LIBS) |
|
+lib1508_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1508 |
|
diff --git a/tests/libtest/lib1508.c b/tests/libtest/lib1508.c |
|
new file mode 100644 |
|
index 0000000..72f26d1 |
|
--- /dev/null |
|
+++ b/tests/libtest/lib1508.c |
|
@@ -0,0 +1,49 @@ |
|
+/*************************************************************************** |
|
+ * _ _ ____ _ |
|
+ * Project ___| | | | _ \| | |
|
+ * / __| | | | |_) | | |
|
+ * | (__| |_| | _ <| |___ |
|
+ * \___|\___/|_| \_\_____| |
|
+ * |
|
+ * Copyright (C) 2013, Linus Nielsen Feltzing <linus@haxx.se> |
|
+ * |
|
+ * This software is licensed as described in the file COPYING, which |
|
+ * you should have received as part of this distribution. The terms |
|
+ * are also available at http://curl.haxx.se/docs/copyright.html. |
|
+ * |
|
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell |
|
+ * copies of the Software, and permit persons to whom the Software is |
|
+ * furnished to do so, under the terms of the COPYING file. |
|
+ * |
|
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY |
|
+ * KIND, either express or implied. |
|
+ * |
|
+ ***************************************************************************/ |
|
+#include "test.h" |
|
+ |
|
+#include "testutil.h" |
|
+#include "warnless.h" |
|
+#include "memdebug.h" |
|
+ |
|
+int test(char *URL) |
|
+{ |
|
+ int res = 0; |
|
+ CURLM *m = NULL; |
|
+ |
|
+ (void)URL; |
|
+ |
|
+ global_init(CURL_GLOBAL_ALL); |
|
+ |
|
+ multi_init(m); |
|
+ |
|
+test_cleanup: |
|
+ |
|
+ /* proper cleanup sequence - type PB */ |
|
+ |
|
+ curl_multi_cleanup(m); |
|
+ curl_global_cleanup(); |
|
+ |
|
+ printf("We are done\n"); |
|
+ |
|
+ return res; |
|
+} |
|
-- |
|
1.7.1 |
|
|
|
|