boxfunc3_fuzzer.cc 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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. BOXA *boxa_payload, *boxa1;
  7. boxa_payload = boxaReadMem(data, size);
  8. if(boxa_payload == NULL) return 0;
  9. PIX *pixc, *pixd, *pix, *pixs;
  10. PIX *pix1, *pix2, *pix3, *pix4, *pix5, *pix6, *pix7;
  11. BOXAA *baa;
  12. static const l_int32 WIDTH = 800;
  13. //boxaaDisplay()
  14. pix1 = pixRead("../test8.jpg");
  15. if(pix1!=NULL) {
  16. baa = boxaSort2d(boxa_payload, NULL, 6, 6, 5);
  17. pix2 = boxaaDisplay(pix1, baa, 3, 1, 0xff000000,
  18. 0x00ff0000, 0, 0);
  19. boxaaDestroy(&baa);
  20. pixDestroy(&pix1);
  21. pixDestroy(&pix2);
  22. }
  23. //pixBlendBoxaRandom();
  24. pixc = pixRead("../test8.jpg");
  25. if(pixc!=NULL) {
  26. pixd = pixBlendBoxaRandom(pixc, boxa_payload, 0.4);
  27. pixDestroy(&pixc);
  28. pixDestroy(&pixd);
  29. }
  30. //pixDrawBoxa();
  31. pixc = pixRead("../test8.jpg");
  32. if(pixc!=NULL) {
  33. pixd = pixConvertTo1(pixc, 128);
  34. pix1 = pixConvertTo8(pixd, FALSE);
  35. pix2 = pixDrawBoxa(pix1, boxa_payload, 7, 0x40a0c000);
  36. pixDestroy(&pix1);
  37. pixDestroy(&pix2);
  38. pixDestroy(&pixc);
  39. pixDestroy(&pixd);
  40. }
  41. //pixMaskConnComp();
  42. pix1 = pixRead("../test8.jpg");
  43. if(pix1!=NULL) {
  44. boxa1 = boxaReadMem(data, size);
  45. if(boxa1==NULL) {
  46. pixDestroy(&pix1);
  47. }else{
  48. pix2 = pixScaleToSize(pix1, WIDTH, 0);
  49. pix3 = pixConvertTo1(pix2, 100);
  50. pix4 = pixExpandBinaryPower2(pix3, 2);
  51. pix5 = pixGenerateHalftoneMask(pix4, NULL, NULL, NULL);
  52. pix6 = pixMorphSequence(pix5, "c20.1 + c1.20", 0);
  53. pix7 = pixMaskConnComp(pix6, 8, &boxa1);
  54. boxaDestroy(&boxa1);
  55. pixDestroy(&pix1);
  56. pixDestroy(&pix2);
  57. pixDestroy(&pix3);
  58. pixDestroy(&pix4);
  59. pixDestroy(&pix5);
  60. pixDestroy(&pix6);
  61. pixDestroy(&pix7);
  62. }
  63. }
  64. //pixPaintBoxa();
  65. pix = pixRead("../test8.jpg");
  66. if(pix!=NULL) {
  67. boxa1 = boxaReadMem(data, size);
  68. if(boxa1==NULL) {
  69. pixDestroy(&pix);
  70. }else{
  71. pix1 = pixPaintBoxa(pix, boxa1, 0x60e0a000);
  72. pixDestroy(&pix);
  73. pixDestroy(&pix1);
  74. boxaDestroy(&boxa1);
  75. };
  76. }
  77. //pixPaintBoxaRandom();
  78. pix = pixRead("../test8.jpg");
  79. if(pix!=NULL) {
  80. boxa1 = boxaReadMem(data, size);
  81. if(boxa1==NULL) {
  82. pixDestroy(&pix);
  83. }else{
  84. pixs = pixConvertTo1(pix, 128);
  85. pix1 = pixPaintBoxaRandom(pixs, boxa1);
  86. pixDestroy(&pix);
  87. pixDestroy(&pixs);
  88. pixDestroy(&pix1);
  89. boxaDestroy(&boxa1);
  90. }
  91. }
  92. boxaDestroy(&boxa_payload);
  93. return 0;
  94. }