Improve fuzzer code coverage (#239)
* fuzz: test grapheme break functions * fuzz: cover character lumping
This commit is contained in:
parent
39dbf507d7
commit
63f31c908e
@ -11,7 +11,7 @@ int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
|
||||
if(data[size-1] != '\0') return 0;
|
||||
|
||||
const uint8_t* ptr = data;
|
||||
utf8proc_int32_t c = 0;
|
||||
utf8proc_int32_t c = 0, c_prev = 0, state = 0;
|
||||
utf8proc_option_t options;
|
||||
utf8proc_ssize_t ret, bytes = 0;
|
||||
size_t len = strlen((const char*)data);
|
||||
@ -34,6 +34,11 @@ int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
|
||||
utf8proc_category(c);
|
||||
utf8proc_category_string(c);
|
||||
utf8proc_codepoint_valid(c);
|
||||
|
||||
utf8proc_grapheme_break(c_prev, c);
|
||||
utf8proc_grapheme_break_stateful(c_prev, c, &state);
|
||||
|
||||
c_prev = c;
|
||||
}
|
||||
|
||||
utf8proc_int32_t *copy = size >= 4 ? NULL : malloc(size);
|
||||
@ -58,6 +63,10 @@ int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
|
||||
memcpy(copy, data, size);
|
||||
utf8proc_normalize_utf32(copy, size, options);
|
||||
|
||||
options = UTF8PROC_LUMP;
|
||||
memcpy(copy, data, size);
|
||||
utf8proc_normalize_utf32(copy, size, options);
|
||||
|
||||
options = 0;
|
||||
memcpy(copy, data, size);
|
||||
utf8proc_normalize_utf32(copy, size, options);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user