Skip to content

Commit

Permalink
initial fuzzing support
Browse files Browse the repository at this point in the history
  • Loading branch information
Shivam7-1 authored Dec 21, 2024
1 parent 0602565 commit 8d3cadc
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions fuzz/fuzzing_target.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#include "clay.h"
#include <stdint.h>
#include <stddef.h>

extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
if (size < sizeof(Clay_String)) return 0;

Clay_String testString = { .length = size, .chars = (const char *)data };

Clay_Dimensions dimensions = MeasureText(&testString, NULL);

// Call other critical functions
Clay_Arena arena = Clay_CreateArenaWithCapacityAndMemory(1024, (void*)data);
Clay_Initialize(arena, (Clay_Dimensions){1024, 768});
Clay_SetPointerState((Clay_Vector2){0, 0}, false);
Clay_BeginLayout();
Clay_EndLayout();

// Handle pointer state changes
Clay_SetPointerState((Clay_Vector2){1, 1}, true);
Clay_SetPointerState((Clay_Vector2){2, 2}, false);

return 0;
}

0 comments on commit 8d3cadc

Please sign in to comment.