From: Giuseppe Scrivano Date: Tue, 4 May 2010 15:34:40 +0000 (+0200) Subject: Check `resp_status' function return code. X-Git-Tag: v1.13~187 X-Git-Url: http://sjero.net/git/?p=wget;a=commitdiff_plain;h=d829a892183e4799b47325b4e94bc5af63141f2c Check `resp_status' function return code. --- diff --git a/src/http.c b/src/http.c index 2330dde1..52ed8365 100644 --- a/src/http.c +++ b/src/http.c @@ -1888,6 +1888,13 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy, resp = resp_new (head); statcode = resp_status (resp, &message); + if (statcode < 0) + { + logprintf (LOG_NOTQUIET, _("Invalid server response.\n")); + CLOSE_INVALIDATE (sock); + xfree (head); + return HERR; + } hs->message = xstrdup (message); resp_free (resp); xfree (head); @@ -1976,6 +1983,13 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy, /* Check for status line. */ message = NULL; statcode = resp_status (resp, &message); + if (statcode < 0) + { + logprintf (LOG_NOTQUIET, _("Invalid server response.\n")); + CLOSE_INVALIDATE (sock); + request_free (req); + return HERR; + } hs->message = xstrdup (message); if (!opt.server_response) logprintf (LOG_VERBOSE, "%2d %s\n", statcode,