Procházet zdrojové kódy

Corrected misplaced brackets in parse_http_message()

Sergey Lyubka před 12 roky
rodič
revize
2055d41a9f
2 změnil soubory, kde provedl 5 přidání a 1 odebrání
  1. 1 1
      mongoose.c
  2. 4 0
      test/unit_test.c

+ 1 - 1
mongoose.c

@@ -3070,7 +3070,7 @@ static int parse_http_message(char *buf, int len, struct mg_request_info *ri) {
     // "GET / HTTP/1.0 ...." or  "HTTP/1.0 200 OK ..."
     is_request = is_valid_http_method(ri->request_method);
     if ((is_request && memcmp(ri->http_version, "HTTP/", 5) != 0) ||
-        (!is_request && memcmp(ri->request_method, "HTTP/", 5)) != 0) {
+        (!is_request && memcmp(ri->request_method, "HTTP/", 5) != 0)) {
       request_length = -1;
     } else {
       if (is_request) {

+ 4 - 0
test/unit_test.c

@@ -63,6 +63,10 @@ static void test_parse_http_message() {
   char req6[] = "G";
   char req7[] = " blah ";
   char req8[] = " HTTP/1.1 200 OK \n\n";
+  char req9[] = "HTTP/1.1 200 OK\r\nConnection: close\r\n\r\n";
+
+  ASSERT(parse_http_message(req9, sizeof(req9), &ri) == sizeof(req9) - 1);
+  ASSERT(ri.num_headers == 1);
 
   ASSERT(parse_http_message(req1, sizeof(req1), &ri) == sizeof(req1) - 1);
   ASSERT(strcmp(ri.http_version, "1.1") == 0);