#include #include template static inline T Read(IInputStream& in) { T t; in.LoadOrFail(&t, sizeof(t)); return t; } extern "C" int LLVMFuzzerTestOneInput(const ui8* data, size_t size) { TMemoryInput mi(data, size); try { TVector v; while (mi.Avail()) { char cmd = Read(mi); switch (cmd % 2) { case 0: { const size_t cnt = 1 + Read(mi) % 16; for (size_t i = 0; i < cnt; ++i) { v.push_back(i); } break; } case 1: { if (v) { v.pop_back(); } break; } } } } catch (...) { // ¯\_(ツ)_/¯ } return 0; // Non-zero return values are reserved for future use. }