graphics_fuzzer.cc 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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. PTA *pta1 = ptaCreate(0);
  9. PIX *pix_return1 = pixFillPolygon(pixs_payload, pta1, 2, 2);
  10. ptaDestroy(&pta1);
  11. pixDestroy(&pix_return1);
  12. PTA *pta_return1 =pixGeneratePtaBoundary(pixs_payload, 1);
  13. ptaDestroy(&pta_return1);
  14. BOX *box1 = boxCreate(150, 130, 1500, 355);
  15. pixRenderBox(pixs_payload, box1, 3, 200);
  16. boxDestroy(&box1);
  17. BOXA *boxa1;
  18. boxa1 = boxaCreate(0);
  19. pixRenderBoxa(pixs_payload, boxa1, 17, 200);
  20. boxaDestroy(&boxa1);
  21. boxa1 = boxaCreate(0);
  22. pixRenderBoxaBlend(pixs_payload, boxa1, 17, 200, 1, 25, 0.4, 1);
  23. boxaDestroy(&boxa1);
  24. PIX *pix_return12 = pixRenderContours(pixs_payload, 2, 4, 1);
  25. pixDestroy(&pix_return12);
  26. pixRenderGridArb(pixs_payload, 1, 1, 1, 1, 1, 1);
  27. BOX *box2 = boxCreate(150, 130, 1500, 355);
  28. pixRenderHashBox(pixs_payload, box2, 2, 1, 1, 0, L_SET_PIXELS);
  29. boxDestroy(&box2);
  30. BOX *box3 = boxCreate(150, 130, 1500, 355);
  31. pixRenderHashBoxBlend(pixs_payload, box3, 2, 1, L_HORIZONTAL_LINE, 0, 1, 1, 1, 1.0);
  32. boxDestroy(&box3);
  33. BOXA *boxa2;
  34. boxa2 = boxaCreate(1);
  35. pixRenderHashBoxa(pixs_payload, boxa2, 2, 1, L_HORIZONTAL_LINE, 0, L_SET_PIXELS);
  36. boxaDestroy(&boxa2);
  37. boxa1 = boxaCreate(1);
  38. pixRenderHashBoxaArb(pixs_payload, boxa1, 2, 1, L_HORIZONTAL_LINE, 0, 1, 1, 1);
  39. boxaDestroy(&boxa1);
  40. PIX *pixs = pixRead("../test8.jpg");
  41. pixRenderHashMaskArb(pixs_payload, pixs, 2, 2, 2, 1, L_HORIZONTAL_LINE, 0, 1, 1, 1);
  42. pixDestroy(&pixs);
  43. pixRenderLineBlend(pixs_payload, 30, 60, 440, 70, 5, 115, 200, 120, 0.3);
  44. PIX *pixs_payload2 = pixCopy(NULL, pixs_payload);
  45. NUMA *na2 = numaGammaTRC(1.7, 150, 255);
  46. pixRenderPlotFromNumaGen(&pixs_payload2, na2, L_HORIZONTAL_LINE, 3, 1, 80, 1, 1);
  47. numaDestroy(&na2);
  48. pixDestroy(&pixs_payload2);
  49. PTA *pta2 = ptaCreate(0);
  50. pixRenderPolylineArb(pixs_payload, pta2, 1, 1, 1, 1, 0);
  51. ptaDestroy(&pta2);
  52. PTA *pta3 = ptaCreate(0);
  53. pixRenderPolylineBlend(pixs_payload, pta3, 17, 25, 200, 1, 0.5, 1, 1);
  54. ptaDestroy(&pta3);
  55. NUMA *na1 = numaGammaTRC(1.7, 150, 255);
  56. pixRenderPlotFromNuma(&pixs_payload, na1, L_HORIZONTAL_LINE, 3, 1, 80);
  57. numaDestroy(&na1);
  58. pixDestroy(&pixs_payload);
  59. return 0;
  60. }