@@ -25,6 +25,23 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
25
25
out_url->set_pathname (input);
26
26
out_url->set_search (input);
27
27
out_url->set_hash (input);
28
+ out_url->set_port (input);
29
+
30
+ // volatile forces the compiler to store the results without undue
31
+ // optimizations
32
+ volatile size_t length = 0 ;
33
+
34
+ // getters
35
+ length += out_url->get_protocol ().size ();
36
+ length += out_url->get_username ().size ();
37
+ length += out_url->get_password ().size ();
38
+ length += out_url->get_hostname ().size ();
39
+ length += out_url->get_host ().size ();
40
+ length += out_url->get_pathname ().size ();
41
+ length += out_url->get_search ().size ();
42
+ length += out_url->get_hash ().size ();
43
+ length += out_url->get_origin ().size ();
44
+ length += out_url->get_port ().size ();
28
45
}
29
46
30
47
/* *
@@ -42,6 +59,23 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
42
59
out_aggregator->set_pathname (input);
43
60
out_aggregator->set_search (input);
44
61
out_aggregator->set_hash (input);
62
+ out_aggregator->set_port (input);
63
+
64
+ // volatile forces the compiler to store the results without undue
65
+ // optimizations
66
+ volatile size_t length = 0 ;
67
+
68
+ // getters
69
+ length += out_aggregator->get_protocol ().size ();
70
+ length += out_aggregator->get_username ().size ();
71
+ length += out_aggregator->get_password ().size ();
72
+ length += out_aggregator->get_hostname ().size ();
73
+ length += out_aggregator->get_host ().size ();
74
+ length += out_aggregator->get_pathname ().size ();
75
+ length += out_aggregator->get_search ().size ();
76
+ length += out_aggregator->get_hash ().size ();
77
+ length += out_aggregator->get_origin ().size ();
78
+ length += out_aggregator->get_port ().size ();
45
79
}
46
80
47
81
/* *
@@ -58,5 +92,10 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
58
92
ada::idna::to_ascii (source);
59
93
ada::idna::to_unicode (source);
60
94
95
+ /* *
96
+ * Node.js specific
97
+ */
98
+ ada::href_from_file (source);
99
+
61
100
return 0 ;
62
101
} // extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
0 commit comments