pageseg_fuzzer.cc 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include "leptfuzz.h"
  2. extern "C" int
  3. LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  4. {
  5. leptSetStdNullHandler();
  6. l_int32 score;
  7. PIX *pixs;
  8. PIX *pix1, *pix2, *pix3, *pix4;
  9. PIXA *pixa1, *pixa2;
  10. PIXAC *pixac;
  11. BOX *box;
  12. BOXA *boxa;
  13. pixs = pixReadMemSpix(data, size);
  14. if(pixs==NULL) return 0;
  15. pixa1 = pixaCreate(0);
  16. pixDecideIfTable(pixs, NULL, L_PORTRAIT_MODE, &score, pixa1);
  17. pixaDestroy(&pixa1);
  18. pixa1 = pixaCreate(0);
  19. pixGetRegionsBinary(pixs, &pix1, &pix2, &pix3, pixa1);
  20. pixDestroy(&pix1);
  21. pixDestroy(&pix2);
  22. pixDestroy(&pix3);
  23. pixaDestroy(&pixa1);
  24. pixac = pixacompReadMem(data, size);
  25. box = pixFindPageForeground(pixs, 170, 70, 30, 0, pixac);
  26. boxDestroy(&box);
  27. pixacompDestroy(&pixac);
  28. pixSplitIntoCharacters(pixs, 4, 4, &boxa, &pixa2, &pix4);
  29. boxaDestroy(&boxa);
  30. pixaDestroy(&pixa2);
  31. pixDestroy(&pix4);
  32. pixDestroy(&pixs);
  33. return 0;
  34. }