curl/lib
Daniel Stenberg ac9a179fe9
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
2018-06-16 12:01:27 +02:00
..
vauth cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
vtls Curl_debug: remove dead printhost code 2018-06-12 16:00:27 +02:00
.gitattributes
.gitignore
amigaos.c
amigaos.h
arpa_telnet.h
asyn-ares.c multi: fix memory leak when stopped during name resolve 2018-06-16 12:01:27 +02:00
asyn-thread.c multi: fix memory leak when stopped during name resolve 2018-06-16 12:01:27 +02:00
asyn.h
base64.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
checksrc.pl checksrc: make sure sizeof() is used *with* parentheses 2018-05-21 23:21:47 +02:00
CMakeLists.txt cmake: set -d postfix for debug builds if not specified 2018-05-24 17:25:41 +03:00
config-amigaos.h
config-dos.h build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
config-mac.h
config-os400.h os400: add missing symbols in config file. 2017-10-19 18:48:21 +01:00
config-riscos.h
config-symbian.h build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
config-tpf.h build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
config-vxworks.h build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
config-win32.h curl_addrinfo.c: Allow Unix Domain Sockets to compile under Windows 2018-02-07 21:33:57 +00:00
config-win32ce.h build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
conncache.c strictness: correct {infof, failf} format specifiers 2018-05-31 11:34:32 +02:00
conncache.h conncache: fix several lock issues 2017-12-05 23:21:02 +01:00
connect.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
connect.h url: Add option CURLOPT_HAPPY_EYEBALLS_TIMEOUT 2018-02-20 17:51:43 -05:00
content_encoding.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
content_encoding.h HTTP: support multiple Content-Encodings 2017-11-05 15:09:48 +01:00
cookie.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
cookie.h cookies: remove unused macro 2018-04-27 02:54:15 -04:00
curl_addrinfo.c curl_addrinfo: use same #ifdef conditions in source as header 2018-06-01 14:40:35 +02:00
curl_addrinfo.h
curl_base64.h
curl_config.h.cmake cmake: check for getpwuid_r 2018-05-28 15:23:18 +02:00
curl_ctype.c URL: fix ASCII dependency in strcpy_url and strlen_url 2018-05-03 15:19:20 +02:00
curl_ctype.h URL: fix ASCII dependency in strcpy_url and strlen_url 2018-05-03 15:19:20 +02:00
curl_des.c
curl_des.h
curl_endian.c
curl_endian.h
curl_fnmatch.c spelling fixes 2018-06-03 12:14:45 +00:00
curl_fnmatch.h
curl_gethostname.c
curl_gethostname.h
curl_gssapi.c curl_gssapi: make sure this file too uses our *printf() 2018-02-13 22:55:29 +01:00
curl_gssapi.h
curl_hmac.h
curl_ldap.h
curl_md4.h
curl_md5.h
curl_memory.h
curl_memrchr.c Curl_memchr: zero length input can't match 2018-04-24 08:03:23 +02:00
curl_memrchr.h
curl_multibyte.c
curl_multibyte.h
curl_ntlm_core.c all: Refactor malloc+memset to use calloc 2018-04-15 03:00:37 -04:00
curl_ntlm_core.h ntlm: move NTLM_NEEDS_NSS_INIT define into core NTLM header 2017-09-23 13:58:14 -04:00
curl_ntlm_wb.c spelling fixes 2018-02-23 23:29:01 +00:00
curl_ntlm_wb.h
curl_path.c sftp: allow quoted commands to use relative paths 2017-12-09 13:38:38 +01:00
curl_path.h lib/curl_path.h: add #ifdef header guard 2018-03-20 15:00:09 +01:00
curl_printf.h
curl_range.c Curl_range: fix FTP-only and FILE-only builds 2018-03-11 20:33:04 +01:00
curl_range.h Curl_range: commonize FTP and FILE range handling 2018-01-30 17:23:26 +01:00
curl_rtmp.c
curl_rtmp.h
curl_sasl.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
curl_sasl.h
curl_sec.h
curl_setup_once.h curl_ctype: private is*() type macros and functions 2018-01-29 22:56:43 +01:00
curl_setup.h configure: check for declaration of getpwuid_r 2018-05-31 12:51:15 +02:00
curl_sha256.h auth: add support for RFC7616 - HTTP Digest access authentication 2017-10-28 16:32:43 +02:00
curl_sspi.c
curl_sspi.h
curl_threads.c
curl_threads.h
curlx.h curlx: the timeval functions are no longer provided as curlx_* 2017-10-30 16:41:44 +01:00
dict.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
dict.h
dotdot.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
dotdot.h
easy.c spelling fixes 2018-06-03 12:14:45 +00:00
easyif.h
escape.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
escape.h
file.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
file.h
fileinfo.c ftplistparser: keep state between invokes 2018-04-24 14:23:20 +02:00
fileinfo.h ftplistparser: keep state between invokes 2018-04-24 14:23:20 +02:00
firefox-db2pem.sh
formdata.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
formdata.h mime: unified to use the typedef'd mime structs everywhere 2017-09-05 17:33:16 +01:00
ftp.c Curl_debug: remove dead printhost code 2018-06-12 16:00:27 +02:00
ftp.h ftplistparser: renamed some members and variables 2018-04-23 22:52:48 +02:00
ftplistparser.c ftplistparser: keep state between invokes 2018-04-24 14:23:20 +02:00
ftplistparser.h
getenv.c
getinfo.c getinfo: add microsecond precise timers for various intervals 2018-05-17 13:41:04 +02:00
getinfo.h
gopher.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
gopher.h
hash.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
hash.h
hmac.c checksrc: make sure sizeof() is used *with* parentheses 2018-05-21 23:21:47 +02:00
hostasyn.c resolvers: only include anything if needed 2017-10-27 13:20:13 +02:00
hostcheck.c schannel: add support for CURLOPT_CAINFO 2018-04-18 03:59:47 -04:00
hostcheck.h
hostip4.c resolvers: only include anything if needed 2017-10-27 13:20:13 +02:00
hostip6.c resolvers: only include anything if needed 2017-10-27 13:20:13 +02:00
hostip.c CURLOPT_RESOLVE: always purge old entry first 2018-06-01 12:47:52 +02:00
hostip.h resolve: add CURLOPT_DNS_SHUFFLE_ADDRESSES 2018-03-17 20:44:14 +01:00
hostsyn.c resolvers: only include anything if needed 2017-10-27 13:20:13 +02:00
http2.c strictness: correct {infof, failf} format specifiers 2018-05-31 11:34:32 +02:00
http2.h
http_chunks.c ctype: restore character classification for non-ASCII platforms 2018-04-24 14:36:06 +02:00
http_chunks.h
http_digest.c
http_digest.h
http_negotiate.c cleanup: misc typos in strings and comments 2018-03-16 11:08:31 +01:00
http_negotiate.h
http_ntlm.c ntlm_sspi: fix authentication using Credential Manager 2018-04-16 20:43:21 +02:00
http_ntlm.h
http_proxy.c Curl_debug: remove dead printhost code 2018-06-12 16:00:27 +02:00
http_proxy.h
http.c Curl_debug: remove dead printhost code 2018-06-12 16:00:27 +02:00
http.h http2: use the correct function pointer typedef 2018-05-14 12:44:20 +02:00
idn_win32.c
if2ip.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
if2ip.h
imap.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
imap.h
inet_ntop.c checksrc: make sure sizeof() is used *with* parentheses 2018-05-21 23:21:47 +02:00
inet_ntop.h
inet_pton.c
inet_pton.h
krb5.c krb5: use nondeprecated functions 2018-03-04 22:21:46 +01:00
ldap.c boringssl + schannel: undef X509_NAME in lib/schannel.h 2018-06-08 23:25:17 +02:00
libcurl.plist
libcurl.rc
libcurl.vers.in
llist.c Curl_llist_remove: fix potential NULL pointer deref 2017-11-21 09:02:40 +01:00
llist.h
Makefile.am build: remove the Borland specific makefiles 2018-06-02 11:23:40 +02:00
makefile.amiga
makefile.dj
Makefile.inc psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
Makefile.m32 Makefile.m32: allow to customize brotli libs 2017-11-05 23:02:05 +00:00
Makefile.netware spelling fixes 2018-06-03 12:14:45 +00:00
Makefile.vxworks
Makefile.Watcom
md4.c
md5.c checksrc: make sure sizeof() is used *with* parentheses 2018-05-21 23:21:47 +02:00
memdebug.c memdebug: use send/recv signature for curl_dosend/curl_dorecv 2017-10-30 21:27:59 +01:00
memdebug.h memdebug: use send/recv signature for curl_dosend/curl_dorecv 2017-10-30 21:27:59 +01:00
mime.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
mime.h formdata: use the mime-content type function 2018-02-05 13:50:30 +01:00
mk-ca-bundle.pl mk-ca-bundle.pl: make -u delete certdata.txt if found not changed 2018-06-14 00:02:20 +02:00
mk-ca-bundle.vbs spelling fixes 2018-02-23 23:29:01 +00:00
mprintf.c code style: remove wrong uses of multiple spaces 2017-09-12 13:54:54 +02:00
multi.c multi: fix memory leak when stopped during name resolve 2018-06-16 12:01:27 +02:00
multihandle.h psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
multiif.h multi: improved pending transfers handling => improved performance 2018-03-16 23:45:59 +01:00
netrc.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
netrc.h
non-ascii.c non-ascii: fix implicit declaration warning 2018-02-15 15:52:41 -05:00
non-ascii.h mime: new MIME API. 2017-09-02 17:47:10 +01:00
nonblock.c
nonblock.h
nwlib.c all: Refactor malloc+memset to use calloc 2018-04-15 03:00:37 -04:00
nwos.c
objnames-test08.sh
objnames-test10.sh
objnames.inc spelling fixes 2018-02-23 23:29:01 +00:00
openldap.c openldap: fix for NULL return from ldap_get_attribute_ber() 2018-03-23 23:58:25 +01:00
parsedate.c parsedate: support UT timezone 2018-03-19 19:22:42 +01:00
parsedate.h
pingpong.c Curl_debug: remove dead printhost code 2018-06-12 16:00:27 +02:00
pingpong.h time: rename Curl_tvnow to Curl_now 2017-10-25 18:48:05 +02:00
pipeline.c strictness: correct {infof, failf} format specifiers 2018-05-31 11:34:32 +02:00
pipeline.h
pop3.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
pop3.h
progress.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
progress.h progress: remove a set of unused defines 2018-06-13 23:38:40 +02:00
psl.c psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
psl.h psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
rand.c rand: fix typo 2018-05-16 02:21:06 -04:00
rand.h
rtsp.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
rtsp.h
security.c Curl_debug: remove dead printhost code 2018-06-12 16:00:27 +02:00
select.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
select.h
sendf.c Curl_debug: remove dead printhost code 2018-06-12 16:00:27 +02:00
sendf.h Curl_debug: remove dead printhost code 2018-06-12 16:00:27 +02:00
setopt.c option: disallow username in URL 2018-05-31 11:27:16 +02:00
setopt.h setopt: reintroduce non-static Curl_vsetopt() for OS400 support 2018-01-13 01:28:19 +01:00
setup-os400.h
setup-vms.h
sha256.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
share.c psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
share.h psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
sigpipe.h
slist.c
slist.h
smb.c smb: reject negative file sizes 2018-05-12 22:24:25 +02:00
smb.h SMB: fix numeric constant suffix and variable types 2018-01-16 22:21:59 +01:00
smtp.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
smtp.h
sockaddr.h
socks_gssapi.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
socks_sspi.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
socks.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
socks.h
speedcheck.c timediff: return timediff_t from the time diff functions 2017-10-25 09:54:37 +02:00
speedcheck.h
splay.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
splay.h code style: remove wrong uses of multiple spaces 2017-09-12 13:54:54 +02:00
ssh-libssh.c Curl_debug: remove dead printhost code 2018-06-12 16:00:27 +02:00
ssh.c Curl_debug: remove dead printhost code 2018-06-12 16:00:27 +02:00
ssh.h libssh: added SFTP support 2017-12-01 17:38:37 +01:00
strcase.c strcase: corrected comment header for Curl_strcasecompare() 2017-08-31 11:37:36 +02:00
strcase.h
strdup.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
strdup.h
strerror.c TODO fixed: Detect when called from within callbacks 2018-02-15 09:36:03 +01:00
strerror.h
strtok.c
strtok.h
strtoofft.c lib: silence null-dereference warnings 2018-04-09 15:54:52 +02:00
strtoofft.h progress: calculate transfer speed on milliseconds if possible 2018-01-08 23:45:09 +13:00
system_win32.c
system_win32.h
telnet.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
telnet.h
tftp.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
tftp.h
timeval.c build: add picky compiler warning flags for gcc 6 and 7 2018-04-07 11:18:58 +02:00
timeval.h timeval: make timediff_t also work on 32bit windows 2017-10-26 20:22:55 +02:00
transfer.c Curl_debug: remove dead printhost code 2018-06-12 16:00:27 +02:00
transfer.h HTTP: allow "header;" to replace an internal header with a blank one 2018-03-11 11:46:10 +01:00
url.c Curl_init_do: handle NULL connection pointer passed in 2018-06-13 09:21:40 +02:00
url.h setopt: reintroduce non-static Curl_vsetopt() for OS400 support 2018-01-13 01:28:19 +01:00
urldata.h Curl_debug: remove dead printhost code 2018-06-12 16:00:27 +02:00
version.c checksrc: make sure sizeof() is used *with* parentheses 2018-05-21 23:21:47 +02:00
warnless.c
warnless.h build: cleanup to fix clang warnings/errors 2018-04-08 13:59:30 +02:00
wildcard.c ftplistparser: keep state between invokes 2018-04-24 14:23:20 +02:00
wildcard.h ftplistparser: renamed some members and variables 2018-04-23 22:52:48 +02:00
x509asn1.c checksrc: make sure sizeof() is used *with* parentheses 2018-05-21 23:21:47 +02:00
x509asn1.h