fuzzDBEDecoder.cpp 539 B

12345678910111213141516171819202122232425262728293031
  1. /*
  2. * Copyright 2021 Axel Waggershauser
  3. */
  4. // SPDX-License-Identifier: Apache-2.0
  5. #include <stdint.h>
  6. #include <stddef.h>
  7. #include "BitArray.h"
  8. #include "Error.h"
  9. #include "oned/ODDataBarExpandedBitDecoder.h"
  10. using namespace ZXing;
  11. extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  12. {
  13. if (size < 2)
  14. return 0;
  15. BitArray bits;
  16. for (size_t i = 0; i < size; ++i)
  17. bits.appendBits(data[i], 8);
  18. try {
  19. OneD::DataBar::DecodeExpandedBits(bits);
  20. } catch (std::out_of_range) {
  21. } catch (Error) {
  22. }
  23. return 0;
  24. }