From f830254445f6d52d2123482c2958da29584176e5 Mon Sep 17 00:00:00 2001 From: Shivam7-1 <55046031+Shivam7-1@users.noreply.github.com> Date: Fri, 20 Dec 2024 16:47:03 +0530 Subject: [PATCH 1/2] Update ada_c.c --- fuzz/ada_c.c | 88 +++++++++++++++++++++++++++++----------------------- 1 file changed, 49 insertions(+), 39 deletions(-) diff --git a/fuzz/ada_c.c b/fuzz/ada_c.c index edbad0489..5d2efb22e 100644 --- a/fuzz/ada_c.c +++ b/fuzz/ada_c.c @@ -10,52 +10,62 @@ int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { * ada_c */ ada_url out = ada_parse((char*)data, size); + + if (!out) { + return 0; + } + bool is_valid = ada_is_valid(out); + + if (!is_valid) { + ada_free(out); + return 0; + } - if (is_valid) { - ada_set_href(out, (char*)data, size); - ada_set_host(out, (char*)data, size); - ada_set_hostname(out, (char*)data, size); - ada_set_protocol(out, (char*)data, size); - ada_set_username(out, (char*)data, size); - ada_set_password(out, (char*)data, size); - ada_set_port(out, (char*)data, size); - ada_set_pathname(out, (char*)data, size); - ada_set_search(out, (char*)data, size); - ada_set_hash(out, (char*)data, size); + ada_set_href(out, (char*)data, size); + ada_set_host(out, (char*)data, size); + ada_set_hostname(out, (char*)data, size); + ada_set_protocol(out, (char*)data, size); + ada_set_username(out, (char*)data, size); + ada_set_password(out, (char*)data, size); + ada_set_port(out, (char*)data, size); + ada_set_pathname(out, (char*)data, size); + ada_set_search(out, (char*)data, size); + ada_set_hash(out, (char*)data, size); - ada_get_hash(out); - ada_get_host(out); - ada_get_host_type(out); - ada_get_hostname(out); - ada_get_href(out); - ada_owned_string out_get_origin = ada_get_origin(out); - ada_get_pathname(out); - ada_get_username(out); - ada_get_password(out); - ada_get_protocol(out); - ada_get_port(out); - ada_get_search(out); - ada_get_scheme_type(out); + ada_get_hash(out); + ada_get_host(out); + ada_get_host_type(out); + ada_get_hostname(out); + ada_get_href(out); - ada_has_credentials(out); - ada_has_empty_hostname(out); - ada_has_hostname(out); - ada_has_non_empty_username(out); - ada_has_non_empty_password(out); - ada_has_port(out); - ada_has_password(out); - ada_has_hash(out); - ada_has_search(out); + ada_owned_string out_get_origin = ada_get_origin(out); + + ada_get_pathname(out); + ada_get_username(out); + ada_get_password(out); + ada_get_protocol(out); + ada_get_port(out); + ada_get_search(out); + ada_get_scheme_type(out); - ada_get_components(out); + ada_has_credentials(out); + ada_has_empty_hostname(out); + ada_has_hostname(out); + ada_has_non_empty_username(out); + ada_has_non_empty_password(out); + ada_has_port(out); + ada_has_password(out); + ada_has_hash(out); + ada_has_search(out); - ada_clear_port(out); - ada_clear_hash(out); - ada_clear_search(out); + ada_get_components(out); - ada_free_owned_string(out_get_origin); - } + ada_clear_port(out); + ada_clear_hash(out); + ada_clear_search(out); + + ada_free_owned_string(out_get_origin); bool can_parse_result = ada_can_parse((char*)data, size); From 76935ee8a16403b80d9325fbc47ecd8af0ee3d90 Mon Sep 17 00:00:00 2001 From: Shivam7-1 <55046031+Shivam7-1@users.noreply.github.com> Date: Sat, 21 Dec 2024 08:45:19 +0530 Subject: [PATCH 2/2] Update-1 ada_c.c --- fuzz/ada_c.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fuzz/ada_c.c b/fuzz/ada_c.c index 5d2efb22e..e007b6779 100644 --- a/fuzz/ada_c.c +++ b/fuzz/ada_c.c @@ -12,6 +12,7 @@ int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { ada_url out = ada_parse((char*)data, size); if (!out) { + bool can_parse_result = ada_can_parse((char*)data, size); return 0; } @@ -19,6 +20,7 @@ int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { if (!is_valid) { ada_free(out); + bool can_parse_result = ada_can_parse((char*)data, size); return 0; }