morphapp_fuzzer.cc 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #include "leptfuzz.h"
  2. extern "C" int
  3. LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
  4. if(size<3) return 0;
  5. leptSetStdNullHandler();
  6. Pix *pixs_payload = pixReadMemSpix(data, size);
  7. if(pixs_payload == NULL) return 0;
  8. Pix *pix1 = pixRead("../test8.jpg");
  9. Pix *pix2 = pixRead("../test8.jpg");
  10. Pix *pix_return1 = pixDisplayMatchedPattern(pixs_payload, pix1, pix2,
  11. 1, 2, 3, 0.5, 1);
  12. pixDestroy(&pix1);
  13. pixDestroy(&pix_return1);
  14. pixDestroy(&pix2);
  15. Pix *pix_return2 = pixFastTophat(pixs_payload, 2, 2, L_TOPHAT_WHITE);
  16. pixDestroy(&pix_return2);
  17. Pix *pix_return3 = pixHDome(pixs_payload, 1, 4);
  18. pixDestroy(&pix_return3);
  19. Sela *sela1 = selaCreate(0);
  20. Pix *pix_return4 = pixIntersectionOfMorphOps(pixs_payload,
  21. sela1, L_MORPH_DILATE);
  22. selaDestroy(&sela1);
  23. pixDestroy(&pix_return4);
  24. Pix *pix_return5 = pixMorphGradient(pixs_payload, 5, 5, 1);
  25. pixDestroy(&pix_return5);
  26. pix1 = pixRead("../test8.jpg");
  27. Boxa *boxa1;
  28. const char *sequence = "sequence";
  29. Pix *pix_return6 = pixMorphSequenceByRegion(pixs_payload, pix1,
  30. sequence, 4, 1, 1, &boxa1);
  31. boxaDestroy(&boxa1);
  32. pixDestroy(&pix1);
  33. pixDestroy(&pix_return6);
  34. pix1 = pixRead("../test8.jpg");
  35. Pix *pix_return7 = pixMorphSequenceMasked(pixs_payload, pix1, sequence, 0);
  36. pixDestroy(&pix1);
  37. pixDestroy(&pix_return7);
  38. pix1 = pixCreate(300, 300, 32);
  39. pix2 = pixCreate(300, 300, 32);
  40. pixRemoveMatchedPattern(pixs_payload, pix1, pix2, 2, 2, 2);
  41. pixDestroy(&pix1);
  42. pixDestroy(&pix2);
  43. Pix *pix = pixCreate(300, 300, 32);
  44. Pix *pix_return8 = pixSeedfillMorph(pixs_payload, pix, 0, 4);
  45. pixDestroy(&pix_return8);
  46. pixDestroy(&pix);
  47. Pix *pix_return9 = pixSelectiveConnCompFill(pixs_payload, 4, 1, 1);
  48. pixDestroy(&pix_return9);
  49. pixDestroy(&pixs_payload);
  50. return 0;
  51. }