diff --git a/tests/oss-fuzz/pdu_parse_tcp_target.c b/tests/oss-fuzz/pdu_parse_tcp_target.c new file mode 100644 index 00000000..8120b5bc --- /dev/null +++ b/tests/oss-fuzz/pdu_parse_tcp_target.c @@ -0,0 +1,23 @@ +#include + +/* Declare prototype for internal function coap_pdu_encode_header() */ +size_t coap_pdu_encode_header(coap_pdu_t *, coap_proto_t); + +int +LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + coap_pdu_t *pdu = coap_pdu_init(0, 0, 0, size); + if (pdu) { + coap_set_log_level(COAP_LOG_ERR); + if (coap_pdu_parse(COAP_PROTO_TCP, data, size, pdu)) { + coap_string_t *query = coap_get_query(pdu); + coap_string_t *uri_path = coap_get_uri_path(pdu); + coap_show_pdu(COAP_LOG_ERR, pdu); + coap_pdu_encode_header(pdu, COAP_PROTO_TCP); + + coap_delete_string(query); + coap_delete_string(uri_path); + } + coap_delete_pdu(pdu); + } + return 0; +} diff --git a/tests/oss-fuzz/pdu_parse_target.c b/tests/oss-fuzz/pdu_parse_udp_target.c similarity index 87% rename from tests/oss-fuzz/pdu_parse_target.c rename to tests/oss-fuzz/pdu_parse_udp_target.c index d3e431ce..4c586c2b 100644 --- a/tests/oss-fuzz/pdu_parse_target.c +++ b/tests/oss-fuzz/pdu_parse_udp_target.c @@ -7,11 +7,11 @@ int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { coap_pdu_t *pdu = coap_pdu_init(0, 0, 0, size); if (pdu) { - coap_set_log_level(COAP_LOG_DEBUG); + coap_set_log_level(COAP_LOG_ERR); if (coap_pdu_parse(COAP_PROTO_UDP, data, size, pdu)) { coap_string_t *query = coap_get_query(pdu); coap_string_t *uri_path = coap_get_uri_path(pdu); - coap_show_pdu(COAP_LOG_DEBUG, pdu); + coap_show_pdu(COAP_LOG_ERR, pdu); coap_pdu_encode_header(pdu, COAP_PROTO_UDP); coap_delete_string(query); diff --git a/tests/oss-fuzz/pdu_parse_ws_target.c b/tests/oss-fuzz/pdu_parse_ws_target.c new file mode 100644 index 00000000..04f2fc6a --- /dev/null +++ b/tests/oss-fuzz/pdu_parse_ws_target.c @@ -0,0 +1,23 @@ +#include + +/* Declare prototype for internal function coap_pdu_encode_header() */ +size_t coap_pdu_encode_header(coap_pdu_t *, coap_proto_t); + +int +LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + coap_pdu_t *pdu = coap_pdu_init(0, 0, 0, size); + if (pdu) { + coap_set_log_level(COAP_LOG_ERR); + if (coap_pdu_parse(COAP_PROTO_WS, data, size, pdu)) { + coap_string_t *query = coap_get_query(pdu); + coap_string_t *uri_path = coap_get_uri_path(pdu); + coap_show_pdu(COAP_LOG_ERR, pdu); + coap_pdu_encode_header(pdu, COAP_PROTO_WS); + + coap_delete_string(query); + coap_delete_string(uri_path); + } + coap_delete_pdu(pdu); + } + return 0; +}