--max-redirs -1 leads to error "bad argument" #2038

Closed
cbartl opened this Issue Oct 31, 2017 · 1 comment

Comments

Projects
None yet
2 participants

cbartl commented Oct 31, 2017

I did this

curl --max-redirs -1 http://dummy.restapiexample.com/api/v1/employees

I expected the following

Get a JSON with HTTP status 200

instead got the following

curl: (43) A libcurl function was given a bad argument

curl/libcurl version

curl 7.56.1 (x86_64-suse-linux-gnu) libcurl/7.56.1 OpenSSL/1.0.2l zlib/1.2.11 libidn2/2.0.4 libpsl/0.18.0 (+libidn2/2.0.4) libssh2/1.8.0 nghttp2/1.27.0
Release-Date: 2017-10-23
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy Metalink PSL 

operating system

openSUSE Tumbleweed

Notes

Use --max-redirs 9999 instead of -1 as workaround.

Did a little research and found commit f121575 to be a candidate for cause.

  case CURLOPT_MAXREDIRS:
    /*
     * The maximum amount of hops you allow curl to follow Location:
     * headers. This should mostly be used to detect never-ending loops.
     */
    arg = va_arg(param, long);
    if(arg < 0)
      return CURLE_BAD_FUNCTION_ARGUMENT;
    data->set.maxredirs = arg;
    break;

@bagder bagder self-assigned this Oct 31, 2017

Owner

bagder commented Oct 31, 2017

Confirmed. Patch coming...

bagder added a commit that referenced this issue Oct 31, 2017

CURLOPT_MAXREDIRS: allow -1 as a value
... which is valid according to documentation. Regression since
f121575.

Reported-by: cbartl on github
Fixes #2038

bagder added a commit that referenced this issue Nov 1, 2017

CURLOPT_MAXREDIRS: allow -1 as a value
... which is valid according to documentation. Regression since
f121575.

Verified now in test 501.

Reported-by: cbartl on github
Fixes #2038

@bagder bagder closed this in 25cb41d Nov 1, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment