#include "chromeos/printing/ppd_line_reader.h"
#include <memory>
#include <string>
#include <fuzzer/FuzzedDataProvider.h>
namespace {
constexpr int kUpperMaxLineLengthBound = 1024;
}
namespace chromeos {
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
FuzzedDataProvider data_provider(data, size);
const size_t line_length =
data_provider.ConsumeIntegralInRange<size_t>(0, kUpperMaxLineLengthBound);
const std::string contents = data_provider.ConsumeRemainingBytesAsString();
std::unique_ptr<PpdLineReader> ppd_line_reader =
PpdLineReader::Create(contents, line_length);
std::string line;
while (ppd_line_reader->NextLine(&line)) {
}
return 0;
}
}