Check for failed subset input creation in the fuzzer.
This commit is contained in:
parent
6d2705a719
commit
7a87b17742
Binary file not shown.
|
@ -64,12 +64,24 @@ extern "C" int LLVMFuzzerTestOneInput (const uint8_t *data, size_t size)
|
||||||
};
|
};
|
||||||
|
|
||||||
hb_subset_input_t *input = hb_subset_input_create_or_fail ();
|
hb_subset_input_t *input = hb_subset_input_create_or_fail ();
|
||||||
|
if (!input)
|
||||||
|
{
|
||||||
|
hb_face_destroy (face);
|
||||||
|
hb_blob_destroy (blob);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
trySubset (face, text, sizeof (text) / sizeof (hb_codepoint_t), flags, input);
|
trySubset (face, text, sizeof (text) / sizeof (hb_codepoint_t), flags, input);
|
||||||
|
|
||||||
unsigned num_axes;
|
unsigned num_axes;
|
||||||
hb_codepoint_t text_from_data[16];
|
hb_codepoint_t text_from_data[16];
|
||||||
if (size > sizeof (text_from_data) + sizeof (flags) + sizeof(num_axes)) {
|
if (size > sizeof (text_from_data) + sizeof (flags) + sizeof(num_axes)) {
|
||||||
hb_subset_input_t *input = hb_subset_input_create_or_fail ();
|
hb_subset_input_t *input = hb_subset_input_create_or_fail ();
|
||||||
|
if (!input)
|
||||||
|
{
|
||||||
|
hb_face_destroy (face);
|
||||||
|
hb_blob_destroy (blob);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
size -= sizeof (text_from_data);
|
size -= sizeof (text_from_data);
|
||||||
memcpy (text_from_data,
|
memcpy (text_from_data,
|
||||||
data + size,
|
data + size,
|
||||||
|
|
Loading…
Reference in New Issue