curl/lib
Nicolas 8bb3a95ce1 ldap: fix OOM error on missing query string
- Allow missing queries, don't return NO_MEMORY error in such a case.

It is acceptable for there to be no specified query string, for example:

curl ldap://ldap.forumsys.com

A regression bug in 1b443a7 caused this issue.

This is a partial fix for #4261.

Bug: https://github.com/curl/curl/issues/4261#issuecomment-525543077
Reported-by: Jojojov@users.noreply.github.com
Analyzed-by: Samuel Surtees

Closes https://github.com/curl/curl/pull/4467
2019-10-05 19:47:31 -04:00
..
vauth vauth: The parameter 'status' must be surrounded by parentheses 2019-09-23 22:44:01 +02:00
vquic ngtcp2: adapt to API change 2019-10-04 10:31:36 +02:00
vssh lib: silence conversion warnings 2019-10-01 10:47:37 +02:00
vtls vtls: Fix comment typo about macosx-version-min compiler flag 2019-09-27 01:46:49 -04:00
.gitattributes
.gitignore
altsvc.c altsvc: accept quoted ma and persist values 2019-09-30 16:35:12 +02:00
altsvc.h alt-svc: add protocol version selection masking 2019-08-08 09:10:29 +02:00
amigaos.c configure: add --with-amissl 2019-03-15 10:22:42 +01:00
amigaos.h configure: add --with-amissl 2019-03-15 10:22:42 +01:00
arpa_telnet.h travis: add build for "configure --disable-verbose" 2018-10-18 14:51:49 +02:00
asyn-ares.c cleanup: remove the 'numsocks' argument used in many places 2019-07-30 23:16:44 +02:00
asyn-thread.c asyn-thread: s/AF_LOCAL/AF_UNIX for Solaris 2019-09-12 09:37:11 +02:00
asyn.h cleanup: remove the 'numsocks' argument used in many places 2019-07-30 23:16:44 +02:00
base64.c base64: check for SSH, not specific SSH backends 2019-08-17 16:57:56 +02:00
checksrc.pl checksrc: fix uninitialized variable warning 2019-10-01 10:47:45 +02:00
CMakeLists.txt CMake: Improve config installation 2018-10-01 16:16:29 -04:00
config-amigaos.h build: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO defines 2019-10-05 19:18:30 -04:00
config-dos.h whitespace fixes 2018-09-23 22:24:02 +00:00
config-mac.h
config-os400.h build: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO defines 2019-10-05 19:18:30 -04:00
config-plan9.h build: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO defines 2019-10-05 19:18:30 -04:00
config-riscos.h build: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO defines 2019-10-05 19:18:30 -04:00
config-symbian.h build: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO defines 2019-10-05 19:18:30 -04:00
config-tpf.h build: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO defines 2019-10-05 19:18:30 -04:00
config-vxworks.h build: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO defines 2019-10-05 19:18:30 -04:00
config-win32.h url: Load if_nametoindex() dynamically from iphlpapi.dll on Windows 2019-05-29 07:19:20 +01:00
config-win32ce.h build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
conncache.c conncache: Remove the DEBUGASSERT on length check 2019-05-29 22:07:43 +01:00
conncache.h conncache: make "bundles" per host name when doing proxy tunnels 2019-05-28 16:23:59 +02:00
connect.c cleanup: move functions out of url.c and make them static 2019-09-03 13:11:12 +02:00
connect.h Curl_addr2string: take an addrlen argument too 2019-08-31 11:41:56 +02:00
content_encoding.c content_encoding: accept up to 4 unknown trailer bytes after raw deflate data 2018-07-12 22:46:15 +02:00
content_encoding.h HTTP: support multiple Content-Encodings 2017-11-05 15:09:48 +01:00
cookie.c cookies: change argument type for Curl_flush_cookies 2019-10-03 22:56:28 +02:00
cookie.h cookies: change argument type for Curl_flush_cookies 2019-10-03 22:56:28 +02:00
curl_addrinfo.c memdebug: log pointer before freeing its data 2019-03-12 21:45:03 +01:00
curl_addrinfo.h memdebug: make debug-specific functions use curl_dbg_ prefix 2019-03-08 23:21:21 +01:00
curl_base64.h
curl_config.h.cmake build: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO defines 2019-10-05 19:18:30 -04: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 cleanup: make local functions static 2019-02-10 18:38:57 +01:00
curl_endian.h headers: Remove no longer exported functions 2019-07-10 19:26:40 +02:00
curl_fnmatch.c cleanup: remove FIXME and TODO comments 2019-05-16 09:16:56 +02:00
curl_fnmatch.h
curl_get_line.c altsvc: Fix building with cookies disables 2019-04-20 22:46:21 +02:00
curl_get_line.h altsvc: Fix building with cookies disables 2019-04-20 22:46:21 +02:00
curl_gethostname.c
curl_gethostname.h
curl_gssapi.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
curl_gssapi.h gssapi: fix deprecated header warnings 2019-02-14 08:38:43 +01:00
curl_hmac.h
curl_ldap.h whitespace fixes 2018-09-23 22:24:02 +00:00
curl_md4.h md4: Use our own MD4 implementation when no crypto libraries are available 2019-08-04 18:01:29 +01:00
curl_md5.h md5: Update the function signature following d84da52d 2019-04-16 00:08:42 +01:00
curl_memory.h cleanup: remove FIXME and TODO comments 2019-05-16 09:16:56 +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 a malloc overcalculation 2018-11-06 03:11:05 -05:00
curl_multibyte.h
curl_ntlm_core.c md4: Use our own MD4 implementation when no crypto libraries are available 2019-08-04 18:01:29 +01:00
curl_ntlm_core.h ntlm: Support the NT response in the type-3 when OpenSSL doesn't include MD4 2019-04-23 20:00:33 +01:00
curl_ntlm_wb.c http_ntlm_wb: Handle auth for only a single request 2019-05-18 19:01:11 +01:00
curl_ntlm_wb.h http_ntlm_wb: Move the type-2 message processing into a dedicated function 2019-05-16 00:03:30 +01:00
curl_path.c scp: fix directory name length used in memcpy 2019-08-24 18:47:56 +02:00
curl_path.h headers: end all headers with guard comment 2018-10-23 10:02:24 +02:00
curl_printf.h snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
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 urldata: avoid 'generic', use dedicated pointers 2019-09-03 23:00:51 +02:00
curl_rtmp.h
curl_sasl.c sasl: Implement SASL authorisation identity via CURLOPT_SASL_AUTHZID 2019-08-06 11:38:20 -04:00
curl_sasl.h
curl_sec.h
curl_setup_once.h whitespace fixes 2018-09-23 22:24:02 +00:00
curl_setup.h cleanup: remove DOT_CHAR completely 2019-08-20 23:07:59 +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 comment: Fix multiple typos in function parameters 2018-10-03 10:27:27 +02:00
curl_sspi.h
curl_threads.c curl_threads: fix classic MinGW compile break 2018-09-27 09:13:20 +02:00
curl_threads.h Windows: fixes for MinGW targeting Windows Vista 2018-10-09 08:33:45 +02:00
curlx.h snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
dict.c urldata: simplify bytecounters 2019-03-01 17:30:34 +01:00
dict.h
doh.c doh: allow only http and https in debug mode 2019-09-23 22:38:23 +02:00
doh.h cleanup: remove the 'numsocks' argument used in many places 2019-07-30 23:16:44 +02:00
dotdot.c Curl_dedotdotify(): always nul terminate returned string. 2018-09-24 07:48:41 +02:00
dotdot.h headers: end all headers with guard comment 2018-10-23 10:02:24 +02:00
easy.c easy: part of conditional expression is always true: !result 2019-09-20 08:07:20 +02:00
easyif.h whitespace fixes 2018-09-23 22:24:02 +00:00
escape.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
escape.h whitespace fixes 2018-09-23 22:24:02 +00:00
file.c file: fix "Checking if unsigned variable 'readcount' is less than zero." 2019-03-12 21:46:11 +01:00
file.h whitespace fixes 2018-09-23 22:24:02 +00:00
fileinfo.c wildcard: disable from build when FTP isn't present 2019-05-13 08:17:09 +02:00
fileinfo.h ftplistparser: keep state between invokes 2018-04-24 14:23:20 +02:00
firefox-db2pem.sh whitespace fixes 2018-09-23 22:24:02 +00:00
formdata.c mime: acknowledge CURL_DISABLE_MIME 2019-05-13 08:17:09 +02:00
formdata.h mime: acknowledge CURL_DISABLE_MIME 2019-05-13 08:17:09 +02:00
ftp.c FTP: url-decode path before evaluation 2019-09-27 08:29:54 +02:00
ftp.h FTP: url-decode path before evaluation 2019-09-27 08:29:54 +02:00
ftplistparser.c ftplistparser: fix LGTM alert "Empty block without comment" 2019-04-05 12:56:18 +02:00
ftplistparser.h
getenv.c getenv: support up to 4K environment variable contents on windows 2019-07-31 08:20:59 +02:00
getinfo.c CURLINFO_RETRY_AFTER: parse the Retry-After header value 2019-08-07 14:45:39 +02:00
getinfo.h
gopher.c gopher: remove check for path == NULL 2019-03-05 08:01:50 +01:00
gopher.h
hash.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
hash.h multi: fix the transfer hashes in the socket hash entries 2019-06-12 12:31:23 +02:00
hmac.c checksrc: make sure sizeof() is used *with* parentheses 2018-05-21 23:21:47 +02:00
hostasyn.c dns: release sharelock as soon as possible 2019-02-11 13:34:11 +01:00
hostcheck.c lib: reduce variable scopes 2019-05-20 08:51:11 +02:00
hostcheck.h whitespace fixes 2018-09-23 22:24:02 +00:00
hostip4.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
hostip6.c HTTP3: initial (experimental) support 2019-07-21 23:49:03 +02:00
hostip.c lib: silence conversion warnings 2019-10-01 10:47:37 +02:00
hostip.h timediff: make it 64 bit (if possible) even with 32 bit time_t 2019-08-01 07:43:24 +02:00
hostsyn.c resolvers: only include anything if needed 2017-10-27 13:20:13 +02:00
http2.c http2: move state-init from creation to pre-transfer 2019-10-03 22:55:42 +02:00
http2.h headers: Remove no longer exported functions 2019-07-10 19:26:40 +02:00
http_chunks.c chunked-encoding: stop hiding the CURLE_BAD_CONTENT_ENCODING error 2019-10-02 07:46:05 +02:00
http_chunks.h chunked-encoding: stop hiding the CURLE_BAD_CONTENT_ENCODING error 2019-10-02 07:46:05 +02:00
http_digest.c auth: Rename the various authentication clean up functions 2019-05-12 18:37:00 +01:00
http_digest.h auth: Rename the various authentication clean up functions 2019-05-12 18:37:00 +01:00
http_negotiate.c vauth: return CURLE_AUTH_ERROR on gss_init_sec_context() failure 2019-08-26 13:43:21 +02:00
http_negotiate.h auth: Rename the various authentication clean up functions 2019-05-12 18:37:00 +01:00
http_ntlm.c http_ntlm: Move the NTLM state out of the ntlmdata structure 2019-05-15 00:31:45 +01:00
http_ntlm.h auth: Rename the various authentication clean up functions 2019-05-12 18:37:00 +01:00
http_proxy.c chunked-encoding: stop hiding the CURLE_BAD_CONTENT_ENCODING error 2019-10-02 07:46:05 +02:00
http_proxy.h
http.c cookies: using a share with cookies shouldn't enable the cookie engine 2019-09-28 18:10:43 +02:00
http.h chunked-encoding: stop hiding the CURLE_BAD_CONTENT_ENCODING error 2019-10-02 07:46:05 +02:00
idn_win32.c
if2ip.c CURLOPT_ADDRESS_SCOPE: fix range check and more 2019-04-13 11:18:55 +02:00
if2ip.h CURLOPT_ADDRESS_SCOPE: fix range check and more 2019-04-13 11:18:55 +02:00
imap.c imap: merged two case-branches performing the same action 2019-09-20 08:07:25 +02:00
imap.h imap: change from "FETCH" to "UID FETCH" 2018-09-06 10:57:48 +02:00
inet_ntop.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
inet_ntop.h whitespace fixes 2018-09-23 22:24:02 +00:00
inet_pton.c lib: reduce variable scopes 2019-05-20 08:51:11 +02:00
inet_pton.h whitespace fixes 2018-09-23 22:24:02 +00:00
krb5.c lib: Use UTF-8 encoding in comments 2019-07-06 23:25:20 -04:00
ldap.c ldap: fix OOM error on missing query string 2019-10-05 19:47:31 -04:00
libcurl.plist
libcurl.rc (lib)curl.rc: fixup for minor bugs 2018-12-10 00:10:04 +01:00
libcurl.vers.in
llist.c Curl_llist_remove: fix potential NULL pointer deref 2017-11-21 09:02:40 +01:00
llist.h whitespace fixes 2018-09-23 22:24:02 +00:00
Makefile.am vssh: create directory for SSH backend code 2019-08-17 16:57:55 +02:00
makefile.amiga whitespace fixes 2018-09-23 22:24:02 +00:00
makefile.dj whitespace fixes 2018-09-23 22:24:02 +00:00
Makefile.inc ngtcp2: Build with latest ngtcp2 and ngtcp2_crypto_openssl 2019-08-27 16:31:19 +02:00
Makefile.m32 whitespace fixes 2018-09-23 22:24:02 +00:00
Makefile.netware build: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO defines 2019-10-05 19:18:30 -04:00
Makefile.vxworks
Makefile.Watcom openssl: Remove SSLEAY leftovers 2018-11-17 21:36:10 +01:00
md4.c md4: Use our own MD4 implementation when no crypto libraries are available 2019-08-04 18:01:29 +01:00
md5.c lib: reduce variable scopes 2019-05-20 08:51:11 +02:00
memdebug.c lib: reduce variable scopes 2019-05-20 08:51:11 +02:00
memdebug.h memdebug: make debug-specific functions use curl_dbg_ prefix 2019-03-08 23:21:21 +01:00
mime.c mime: make Curl_mime_duppart() assert if called without valid dst 2019-09-20 08:07:31 +02:00
mime.h mime: when disabled, avoid C99 macro 2019-09-18 08:08:41 +02: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 mprintf: avoid unsigned integer overflow warning 2018-11-02 11:07:04 +01:00
multi.c CURLMOPT_MAX_CONCURRENT_STREAMS: new setopt 2019-10-02 07:47:48 +02:00
multihandle.h CURLMOPT_MAX_CONCURRENT_STREAMS: new setopt 2019-10-02 07:47:48 +02:00
multiif.h CURLMOPT_MAX_CONCURRENT_STREAMS: new setopt 2019-10-02 07:47:48 +02:00
netrc.c netrc: part of conditional expression is always true: !done 2019-09-20 08:07:18 +02:00
netrc.h netrc: CURL_DISABLE_NETRC 2019-05-17 23:24:34 +02:00
non-ascii.c non-ascii.c: fix typos in comments 2019-02-12 10:24:29 +01:00
non-ascii.h
nonblock.c nonblock: fix unused parameter warning 2018-10-14 21:07:45 +02:00
nonblock.h whitespace fixes 2018-09-23 22:24:02 +00:00
nwlib.c memory: ensure to check allocation results 2018-10-03 23:45:38 +02:00
nwos.c
openldap.c urldata: avoid 'generic', use dedicated pointers 2019-09-03 23:00:51 +02:00
parsedate.c parsedate: still provide the name arrays when disabled 2019-09-13 08:25:14 +02:00
parsedate.h whitespace fixes 2018-09-23 22:24:02 +00:00
pingpong.c timediff: make it 64 bit (if possible) even with 32 bit time_t 2019-08-01 07:43:24 +02:00
pingpong.h cleanup: remove the 'numsocks' argument used in many places 2019-07-30 23:16:44 +02:00
pop3.c cleanup: remove the 'numsocks' argument used in many places 2019-07-30 23:16:44 +02:00
pop3.h
progress.c timediff: make it 64 bit (if possible) even with 32 bit time_t 2019-08-01 07:43:24 +02:00
progress.h whitespace fixes 2018-09-23 22:24:02 +00: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
quic.h ngtcp2: accept upload via callback 2019-08-23 22:33:29 +02:00
rand.c PolarSSL: deprecate support step 1. Removed from configure. 2019-05-22 10:00:56 +02:00
rand.h PolarSSL: deprecate support step 1. Removed from configure. 2019-05-22 10:00:56 +02:00
rtsp.c cleanup: remove the 'numsocks' argument used in many places 2019-07-30 23:16:44 +02:00
rtsp.h whitespace fixes 2018-09-23 22:24:02 +00:00
security.c security:read_data fix bad realloc() 2019-09-09 08:14:34 +02:00
select.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
select.h timediff: make it 64 bit (if possible) even with 32 bit time_t 2019-08-01 07:43:24 +02:00
sendf.c WRITEFUNCTION: add missing set_in_callback around callback 2019-05-05 11:09:30 +02:00
sendf.h travis: add build for "configure --disable-verbose" 2018-10-18 14:51:49 +02:00
setopt.c cookies: change argument type for Curl_flush_cookies 2019-10-03 22:56:28 +02:00
setopt.h os400: make vsetopt() non-static as Curl_vsetopt() for os400 support. 2019-06-16 01:05:53 +02:00
setup-os400.h os400: getpeername() and getsockname() return ebcdic AF_UNIX sockaddr, 2019-09-24 13:39:22 +02:00
setup-vms.h
sha256.c http: fix for tiny "HTTP/0.9" response 2018-08-13 23:16:01 +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 sigpipe: if mbedTLS is used, ignore SIGPIPE 2019-01-28 12:03:33 +01:00
slist.c whitespace fixes 2018-09-23 22:24:02 +00:00
slist.h whitespace fixes 2018-09-23 22:24:02 +00:00
smb.c smb: check for full size message before reading message details 2019-09-16 14:16:06 +02:00
smb.h smb: fix memory leak on early failure 2018-07-30 17:59:36 +02:00
smtp.c smtp: check for and bail out on too short EHLO response 2019-09-03 08:25:23 +02:00
smtp.h
sockaddr.h whitespace fixes 2018-09-23 22:24:02 +00:00
socks_gssapi.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
socks_sspi.c strerror: make the strerror function use local buffers 2019-02-26 10:20:21 +01:00
socks.c socks: Fix destination host shown on SOCKS5 error 2019-09-21 23:45:02 -04:00
socks.h whitespace fixes 2018-09-23 22:24:02 +00:00
speedcheck.c timediff: return timediff_t from the time diff functions 2017-10-25 09:54:37 +02:00
speedcheck.h
splay.c cleanup: remove FIXME and TODO comments 2019-05-16 09:16:56 +02:00
splay.h headers: Remove no longer exported functions 2019-07-10 19:26:40 +02:00
ssh.h ssh: add a generic Curl_ssh_version function for SSH backends 2019-08-17 16:57:58 +02:00
strcase.c strcase: fix raw lowercasing the letter X 2019-09-24 01:31:37 -04:00
strcase.h http: lowercase headernames for HTTP/2 and HTTP/3 2019-09-23 22:33:31 +02:00
strdup.c Curl_saferealloc: Fixed typo in docblock 2018-09-21 14:24:55 +02:00
strdup.h
strerror.c vauth: Use CURLE_AUTH_ERROR for auth function errors 2019-08-14 03:14:01 -04:00
strerror.h strerror: make the strerror function use local buffers 2019-02-26 10:20:21 +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 win32: make DLL loading a no-op for UWP 2019-06-25 20:33:07 +02:00
system_win32.h system_win32: fix clang warning 2019-07-11 02:27:04 -04:00
telnet.c urldata: simplify bytecounters 2019-03-01 17:30:34 +01:00
telnet.h whitespace fixes 2018-09-23 22:24:02 +00:00
tftp.c tftp: Alloc maximum blksize, and use default unless OACK is received 2019-09-09 08:14:34 +02:00
tftp.h whitespace fixes 2018-09-23 22:24:02 +00:00
timeval.c timediff: make it 64 bit (if possible) even with 32 bit time_t 2019-08-01 07:43:24 +02:00
timeval.h timediff: make it 64 bit (if possible) even with 32 bit time_t 2019-08-01 07:43:24 +02:00
transfer.c http2: move state-init from creation to pre-transfer 2019-10-03 22:55:42 +02:00
transfer.h cleanup: remove the 'numsocks' argument used in many places 2019-07-30 23:16:44 +02:00
url.c cookies: change argument type for Curl_flush_cookies 2019-10-03 22:56:28 +02:00
url.h cleanup: move functions out of url.c and make them static 2019-09-03 13:11:12 +02:00
urlapi-int.h headers: Remove no longer exported functions 2019-07-10 19:26:40 +02:00
urlapi.c urlapi: fix use-after-free bug 2019-10-03 22:54:26 +02:00
urldata.h cookies: using a share with cookies shouldn't enable the cookie engine 2019-09-28 18:10:43 +02:00
version.c ESNI: initial build/setup 2019-10-02 12:33:08 +02:00
warnless.c cleanup: make local functions static 2019-02-10 18:38:57 +01:00
warnless.h cleanup: make local functions static 2019-02-10 18:38:57 +01:00
wildcard.c wildcard: disable from build when FTP isn't present 2019-05-13 08:17:09 +02:00
wildcard.h wildcard: disable from build when FTP isn't present 2019-05-13 08:17:09 +02:00
x509asn1.c wolfssl: refer to it as wolfSSL only 2019-06-10 09:18:16 +02:00
x509asn1.h wolfssl: refer to it as wolfSSL only 2019-06-10 09:18:16 +02:00