misc/fuzz: deeper parsing for From/To
authorDaniel-Constantin Mierla <miconda@gmail.com>
Wed, 15 Sep 2021 09:01:45 +0000 (11:01 +0200)
committerDaniel-Constantin Mierla <miconda@gmail.com>
Wed, 15 Sep 2021 09:01:45 +0000 (11:01 +0200)
misc/fuzz/fuzz_parse_msg.c

index 8de9175..1c813fd 100644 (file)
@@ -2,6 +2,8 @@
 #include "../parser/parse_uri.c"
 #include "../parser/parse_hname2.h"
 #include "../parser/contact/parse_contact.h"
+#include "../parser/parse_from.h"
+#include "../parser/parse_to.h"
 #include "../parser/parse_refer_to.h"
 #include "../parser/parse_ppi_pai.h"
 #include "../parser/parse_privacy.h"
@@ -19,22 +21,29 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
     sip_msg_t orig_inv = { };
     orig_inv.buf = (char*)data;
     orig_inv.len = size;
+
     if (parse_msg(orig_inv.buf, orig_inv.len, &orig_inv) < 0) {
         goto cleanup;
     }
-  
+
+    parse_headers(&orig_inv, HDR_EOH_F, 0);
+
     parse_sdp(&orig_inv);
 
-    parse_headers(&orig_inv, HDR_TO_F, 0);
+    parse_from_header(&orig_inv);
+
+    parse_from_uri(&orig_inv);
+
+    parse_to_header(&orig_inv);
+
+    parse_to_uri(&orig_inv);
 
     parse_contact_header(&orig_inv);
 
     parse_refer_to_header(&orig_inv);
 
-    parse_to_header(&orig_inv);
-
     parse_pai_header(&orig_inv);
-    
+
     parse_diversion_header(&orig_inv);
 
     parse_privacy(&orig_inv);