]> granicus.if.org Git - curl/commitdiff
CURLOPT_MAXREDIRS: allow -1 as a value
authorDaniel Stenberg <daniel@haxx.se>
Tue, 31 Oct 2017 14:01:23 +0000 (15:01 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 1 Nov 2017 10:56:19 +0000 (11:56 +0100)
... which is valid according to documentation. Regression since
f121575c0b5f.

Verified now in test 501.

Reported-by: cbartl on github
Fixes #2038
Closes #2039

lib/url.c
tests/libtest/lib501.c

index dec402c1df524df7e0dd9d79ea4994cb145448a2..c334578eac61cef14547a50dbea6e15ad9f38f93 100644 (file)
--- a/lib/url.c
+++ b/lib/url.c
@@ -1043,7 +1043,7 @@ CURLcode Curl_setopt(struct Curl_easy *data, CURLoption option,
      * headers. This should mostly be used to detect never-ending loops.
      */
     arg = va_arg(param, long);
-    if(arg < 0)
+    if(arg < -1)
       return CURLE_BAD_FUNCTION_ARGUMENT;
     data->set.maxredirs = arg;
     break;
index 7a23412465076c3b4e23b87d9cc9eab39f493818..af65bd4d7cc1a8cb094ff35f904efd3f8461c068 100644 (file)
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -44,6 +44,9 @@ int test(char *URL)
 
   test_setopt(curl, CURLOPT_HEADER, 1L);
 
+  /* just verify that setting this to -1 is fine */
+  test_setopt(curl, CURLOPT_MAXREDIRS, -1L);
+
   res = curl_easy_perform(curl);
 
 test_cleanup: