xref: /aosp_15_r20/external/harfbuzz_ng/test/fuzzing/main.cc (revision 2d1272b857b1f7575e6e246373e1cb218663db8a)
1*2d1272b8SAndroid Build Coastguard Worker #include "hb-fuzzer.hh"
2*2d1272b8SAndroid Build Coastguard Worker 
3*2d1272b8SAndroid Build Coastguard Worker #include <cassert>
4*2d1272b8SAndroid Build Coastguard Worker #include <cstdio>
5*2d1272b8SAndroid Build Coastguard Worker 
main(int argc,char ** argv)6*2d1272b8SAndroid Build Coastguard Worker int main (int argc, char **argv)
7*2d1272b8SAndroid Build Coastguard Worker {
8*2d1272b8SAndroid Build Coastguard Worker   for (int i = 1; i < argc; i++)
9*2d1272b8SAndroid Build Coastguard Worker   {
10*2d1272b8SAndroid Build Coastguard Worker     hb_blob_t *blob = hb_blob_create_from_file_or_fail (argv[i]);
11*2d1272b8SAndroid Build Coastguard Worker     assert (blob);
12*2d1272b8SAndroid Build Coastguard Worker 
13*2d1272b8SAndroid Build Coastguard Worker     unsigned len = 0;
14*2d1272b8SAndroid Build Coastguard Worker     const char *font_data = hb_blob_get_data (blob, &len);
15*2d1272b8SAndroid Build Coastguard Worker     printf ("%s (%u bytes)\n", argv[i], len);
16*2d1272b8SAndroid Build Coastguard Worker 
17*2d1272b8SAndroid Build Coastguard Worker     LLVMFuzzerTestOneInput ((const uint8_t *) font_data, len);
18*2d1272b8SAndroid Build Coastguard Worker 
19*2d1272b8SAndroid Build Coastguard Worker     hb_blob_destroy (blob);
20*2d1272b8SAndroid Build Coastguard Worker   }
21*2d1272b8SAndroid Build Coastguard Worker   return 0;
22*2d1272b8SAndroid Build Coastguard Worker }
23