xref: /aosp_15_r20/external/regex-re2/util/fuzz.cc (revision ccdc9c3e24c519bfa4832a66aa2e83a52c19f295)
1*ccdc9c3eSSadaf Ebrahimi // Copyright 2016 The RE2 Authors.  All Rights Reserved.
2*ccdc9c3eSSadaf Ebrahimi // Use of this source code is governed by a BSD-style
3*ccdc9c3eSSadaf Ebrahimi // license that can be found in the LICENSE file.
4*ccdc9c3eSSadaf Ebrahimi 
5*ccdc9c3eSSadaf Ebrahimi #include <stddef.h>
6*ccdc9c3eSSadaf Ebrahimi #include <stdint.h>
7*ccdc9c3eSSadaf Ebrahimi #include <stdlib.h>
8*ccdc9c3eSSadaf Ebrahimi 
9*ccdc9c3eSSadaf Ebrahimi // Entry point for libFuzzer.
10*ccdc9c3eSSadaf Ebrahimi extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size);
11*ccdc9c3eSSadaf Ebrahimi 
main(int argc,char ** argv)12*ccdc9c3eSSadaf Ebrahimi int main(int argc, char** argv) {
13*ccdc9c3eSSadaf Ebrahimi   uint8_t data[32];
14*ccdc9c3eSSadaf Ebrahimi   for (int i = 0; i < 32; i++) {
15*ccdc9c3eSSadaf Ebrahimi     for (int j = 0; j < 32; j++) {
16*ccdc9c3eSSadaf Ebrahimi       data[j] = random() & 0xFF;
17*ccdc9c3eSSadaf Ebrahimi     }
18*ccdc9c3eSSadaf Ebrahimi     LLVMFuzzerTestOneInput(data, 32);
19*ccdc9c3eSSadaf Ebrahimi   }
20*ccdc9c3eSSadaf Ebrahimi   return 0;
21*ccdc9c3eSSadaf Ebrahimi }
22