#include #include #include "char/char.h" #include "utils/utils.h" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { if (size < 2) return 0; err_t err = ERR_T_INIT; _VecCharInternal vec = VEC_INIT; // Use input bytes to drive arbitrary vector operations for (size_t i = 0; i < size; i++) { uint8_t op = data[i] % 5; switch (op) { case 0: _vec_char_push_back(&vec, (char)data[i], &err); break; case 1: _vec_char_pop_back(&vec, &err); break; case 2: if (vec._internal_size > 0) { size_t idx = (size_t)data[i] % vec._internal_size; _vec_char_erase(&vec, idx, &err); } break; case 3: _vec_char_reserve(&vec, (size_t)data[i], &err); break; case 4: _vec_char_shrink_to_fit(&vec, &err); break; } } _vec_char_delete(&vec, &err); return 0; }