aboutsummaryrefslogtreecommitdiff
path: root/lib/highlevel.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2000-11-28 09:05:47 +0000
committerDaniel Stenberg <daniel@haxx.se>2000-11-28 09:05:47 +0000
commitb8f7d94ef15b93c98cda472a32227d84a3ac5f72 (patch)
tree2e12162cb16881f45601856fb733ad916aea8d16 /lib/highlevel.c
parentd4cd079b9cf6d3d8cc278b267b079268df9f11fb (diff)
James Griffiths' max-redirs fix
Diffstat (limited to 'lib/highlevel.c')
-rw-r--r--lib/highlevel.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/highlevel.c b/lib/highlevel.c
index dc7acc130..b3bb9e157 100644
--- a/lib/highlevel.c
+++ b/lib/highlevel.c
@@ -624,11 +624,17 @@ CURLcode curl_transfer(CURL *curl)
if((res == CURLE_OK) && data->newurl) {
/* Location: redirect
-
+
This is assumed to happen for HTTP(S) only!
- */
+ */
char prot[16];
char path[URL_MAX_LENGTH];
+ if (data->maxredirs && (data->followlocation >= data->maxredirs)) {
+ failf(data,"Maximum (%d) redirects followed", data->maxredirs);
+ curl_disconnect(c_connect);
+ res=CURLE_TOO_MANY_REDIRECTS;
+ break;
+ }
/* mark the next request as a followed location: */
data->bits.this_is_a_follow = TRUE;