summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/check_http.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/plugins/check_http.c b/plugins/check_http.c
index f2f7a18..6773e65 100644
--- a/plugins/check_http.c
+++ b/plugins/check_http.c
@@ -1099,7 +1099,19 @@ redir (char *pos, char *status_line)
1099 } 1099 }
1100 1100
1101 pos += i; 1101 pos += i;
1102 pos += strspn (pos, " \t\r\n"); 1102 pos += strspn (pos, " \t");
1103
1104 /*
1105 * RFC 2616 (4.2): ``Header fields can be extended over multiple lines by
1106 * preceding each extra line with at least one SP or HT.''
1107 */
1108 for (; (i = strspn (pos, "\r\n")); pos += i) {
1109 pos += i;
1110 if (!(i = strspn (pos, " \t"))) {
1111 die (STATE_UNKNOWN, _("HTTP UNKNOWN - Empty redirect location%s\n"),
1112 display_html ? "</A>" : "");
1113 }
1114 }
1103 1115
1104 url = realloc (url, strcspn (pos, "\r\n") + 1); 1116 url = realloc (url, strcspn (pos, "\r\n") + 1);
1105 if (url == NULL) 1117 if (url == NULL)