1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-24 09:08:49 -05:00
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 .gitattributes: force shell scripts to LF 2017-04-17 08:32:13 +02:00
.gitignore VC: remove the makefile.vc6 build infra 2017-01-23 14:27:32 +01:00
amigaos.c s/cURL/curl 2016-10-18 13:59:54 +02:00
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 internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
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-amigaos.h: (embarrassed) made the line shorter 2016-12-18 23:46:17 +01:00
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 unix_socket: add support for abstract unix domain socket 2017-01-13 16:25:20 +01:00
curl_base64.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
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 use *.sourceforge.io and misc URL updates 2017-02-06 19:21:05 +00:00
curl_des.h
curl_endian.c curl_endian: remove unused functions 2017-06-02 13:30:41 +02:00
curl_endian.h curl_endian: remove unused functions 2017-06-02 13:30:41 +02:00
curl_fnmatch.c spelling fixes 2018-06-03 12:14:45 +00:00
curl_fnmatch.h
curl_gethostname.c checksrc: move open braces to comply with function declaration style 2016-11-24 23:58:22 +01:00
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 internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
curl_hmac.h checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00
curl_ldap.h
curl_md4.h mbedtls: enable NTLM (& SMB) even if MD4 support is unavailable 2017-04-21 22:42:14 +02:00
curl_md5.h
curl_memory.h spelling fixes 2017-03-26 23:56:23 +02:00
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: fix compiler error 2016-05-20 16:50:04 +02:00
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: fix a compiler warning 2017-07-28 16:41:29 +02:00
curl_rtmp.h
curl_sasl.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
curl_sasl.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
curl_sec.h checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
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.c: Updated function description comments 2016-08-31 11:57:28 +01:00
curl_sspi.h
curl_threads.c curl_threads: fix MSVC compiler warning 2017-08-01 17:22:30 +02:00
curl_threads.h checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
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 typedefs: use the full structs in internal code... 2016-06-22 10:28:41 +02:00
escape.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
escape.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
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 win: Basic support for Universal Windows Platform apps 2016-08-21 13:56:22 +02:00
getinfo.c getinfo: add microsecond precise timers for various intervals 2018-05-17 13:41:04 +02:00
getinfo.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
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 llist: no longer uses malloc 2017-04-22 11:25:27 +02:00
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 http2: fix OOM crash 2017-06-18 23:57:45 +02:00
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 lib: fix MSVC compiler warnings 2016-12-21 11:07:26 +01:00
http_digest.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
http_negotiate.c cleanup: misc typos in strings and comments 2018-03-16 11:08:31 +01:00
http_negotiate.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
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_proxy: fix build with http and proxy 2017-06-18 15:18:15 +02:00
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 ipv6_scope: support unique local addresses 2017-08-13 17:52:15 +02:00
imap.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
imap.h imap: support PREAUTH 2017-08-23 23:58:49 +02:00
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 curl_setup_once: Remove ERRNO/SET_ERRNO macros 2017-07-10 02:09:27 -04:00
inet_pton.h inet_pton: fix include on windows to get prototype 2017-07-05 13:28:19 +02:00
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 *.rc: escape non-ASCII/non-UTF-8 character for clarity 2017-01-19 11:35:48 +00:00
libcurl.vers.in
llist.c Curl_llist_remove: fix potential NULL pointer deref 2017-11-21 09:02:40 +01:00
llist.h llist: no longer uses malloc 2017-04-22 11:25:27 +02:00
Makefile.am build: remove the Borland specific makefiles 2018-06-02 11:23:40 +02:00
makefile.amiga
makefile.dj lib: fix the djgpp build 2017-06-21 07:46:21 +02:00
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 lib/curl_setup.h: remove CURL_WANTS_CA_BUNDLE_ENV 2017-06-15 11:11:15 +02:00
md4.c MD(4|5): silence cast-align clang warning 2017-06-02 21:58:48 +02:00
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 Improve code readbility 2017-03-13 23:11:45 +01:00
nonblock.h
nwlib.c all: Refactor malloc+memset to use calloc 2018-04-15 03:00:37 -04:00
nwos.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
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 llist: replace Curl_llist_alloc with Curl_llist_init 2017-04-04 15:27:45 +02:00
pop3.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
pop3.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
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 rand: treat fake entropy the same regardless of endianness 2017-05-08 23:24:29 +02:00
rtsp.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
rtsp.h handler: refactor connection checking 2017-06-30 10:17:27 +02:00
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 select.h: avoid macro redefinition harder 2017-07-05 13:28:28 +02:00
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 checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00
setup-vms.h checksrc: move open braces to comply with function declaration style 2016-11-24 23:58:22 +01:00
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 internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
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 internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
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 proxy: Support HTTPS proxy and SOCKS+HTTP(s) 2016-11-24 23:41:44 +01:00
speedcheck.c timediff: return timediff_t from the time diff functions 2017-10-25 09:54:37 +02:00
speedcheck.h timeval: struct curltime is a struct timeval replacement 2017-07-28 15:51:25 +02:00
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 proxy: Support HTTPS proxy and SOCKS+HTTP(s) 2016-11-24 23:41:44 +01:00
strdup.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
strdup.h realloc: use Curl_saferealloc to avoid common mistakes 2016-11-11 10:03:48 +01:00
strerror.c TODO fixed: Detect when called from within callbacks 2018-02-15 09:36:03 +01:00
strerror.h idn: switch to libidn2 use and IDNA2008 support 2016-10-31 08:46:35 +01:00
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 spelling fixes 2017-03-26 23:56:23 +02:00
system_win32.h win32: Introduced centralised verify windows version function 2016-06-04 21:24:09 +01:00
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 CURL_SIZEOF_LONG: removed, use only SIZEOF_LONG 2017-08-17 10:27:00 +02:00
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 checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00