From: "Vladimir N. Oleynik" Date: Tue, 24 Jan 2006 12:02:27 +0000 (-0000) Subject: close bug 657 X-Git-Tag: 1_1_0~316 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=ab90b9f427e47d9b2723f5237debe0ee4e0403b5;p=oweals%2Fbusybox.git close bug 657 --- diff --git a/networking/httpd.c b/networking/httpd.c index 5df493b8e..70a024bc2 100644 --- a/networking/httpd.c +++ b/networking/httpd.c @@ -1615,13 +1615,6 @@ BAD_REQUEST: *purl = ' '; count = sscanf(purl, " %[^ ] HTTP/%d.%*d", buf, &blank); - test = decodeString(buf, 0); - if(test == NULL) - goto BAD_REQUEST; - if(test == (buf+1)) { - sendHeaders(HTTP_NOT_FOUND); - break; - } if (count < 1 || buf[0] != '/') { /* Garbled request/URL */ goto BAD_REQUEST; @@ -1639,6 +1632,13 @@ BAD_REQUEST: config->query = test; } + test = decodeString(url, 0); + if(test == NULL) + goto BAD_REQUEST; + if(test == (buf+1)) { + sendHeaders(HTTP_NOT_FOUND); + break; + } /* algorithm stolen from libbb bb_simplify_path(), but don`t strdup and reducing trailing slash and protect out root */ purl = test = url;