aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--networking/httpd.c14
1 files changed, 7 insertions, 7 deletions
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:
1615 *purl = ' '; 1615 *purl = ' ';
1616 count = sscanf(purl, " %[^ ] HTTP/%d.%*d", buf, &blank); 1616 count = sscanf(purl, " %[^ ] HTTP/%d.%*d", buf, &blank);
1617 1617
1618 test = decodeString(buf, 0);
1619 if(test == NULL)
1620 goto BAD_REQUEST;
1621 if(test == (buf+1)) {
1622 sendHeaders(HTTP_NOT_FOUND);
1623 break;
1624 }
1625 if (count < 1 || buf[0] != '/') { 1618 if (count < 1 || buf[0] != '/') {
1626 /* Garbled request/URL */ 1619 /* Garbled request/URL */
1627 goto BAD_REQUEST; 1620 goto BAD_REQUEST;
@@ -1639,6 +1632,13 @@ BAD_REQUEST:
1639 config->query = test; 1632 config->query = test;
1640 } 1633 }
1641 1634
1635 test = decodeString(url, 0);
1636 if(test == NULL)
1637 goto BAD_REQUEST;
1638 if(test == (buf+1)) {
1639 sendHeaders(HTTP_NOT_FOUND);
1640 break;
1641 }
1642 /* algorithm stolen from libbb bb_simplify_path(), 1642 /* algorithm stolen from libbb bb_simplify_path(),
1643 but don`t strdup and reducing trailing slash and protect out root */ 1643 but don`t strdup and reducing trailing slash and protect out root */
1644 purl = test = url; 1644 purl = test = url;