Skip to content
Snippets Groups Projects
Commit cacef661 authored by Sergey Bronnikov's avatar Sergey Bronnikov Committed by Kirill Yukhin
Browse files

test: add new fuzzers for parsing datetime

Part of #6731

NO_DOC=internal
NO_CHANGELOG=internal
parent 02aa8f51
No related branches found
No related tags found
No related merge requests found
......@@ -44,7 +44,15 @@ target_link_libraries(swim_proto_member_fuzzer PUBLIC swim fuzzer_config)
add_executable(swim_proto_meta_fuzzer swim_proto_meta_fuzzer.c)
target_link_libraries(swim_proto_meta_fuzzer PUBLIC swim fuzzer_config)
add_executable(datetime_parse_full_fuzzer datetime_parse_full_fuzzer.c)
target_link_libraries(datetime_parse_full_fuzzer PUBLIC core fuzzer_config)
add_executable(datetime_strptime_fuzzer datetime_strptime_fuzzer.c)
target_link_libraries(datetime_strptime_fuzzer PUBLIC core fuzzer_config)
set(fuzzing_binaries csv_fuzzer
datetime_parse_full_fuzzer
datetime_strptime_fuzzer
http_parser_fuzzer
swim_proto_member_fuzzer
swim_proto_meta_fuzzer
......
#include <stdlib.h>
#include <string.h>
#include "datetime.h"
#include "trivia/util.h"
int
LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
char *buf = xcalloc(size + 1, sizeof(char));
if (buf == NULL)
return 0;
memcpy(buf, data, size);
buf[size] = '\0';
struct datetime date_expected;
datetime_parse_full(&date_expected, buf, size, 0);
free(buf);
return 0;
}
#include <stdlib.h>
#include <string.h>
#include "datetime.h"
#include "trivia/util.h"
int
LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
char *buf = xcalloc(size + 1, sizeof(char));
if (buf == NULL)
return 0;
memcpy(buf, data, size);
buf[size] = '\0';
struct datetime date_expected;
datetime_strptime(&date_expected, buf, "iso8601");
free(buf);
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment