uniFuzzer
uniFuzzer copied to clipboard
make generates error
By running make
, it generates the following error:
clang -o callback/demo-callback.o -Wall -fPIC -g -DUF_DEBUG -c callback/demo-callback.c
callback/demo-callback.c:46:29: warning: incompatible pointer types assigning to 'uint32_t *' (aka 'unsigned int *') from 'char *' [-Wincompatible-pointer-types]
46 | heapBoundaryGOT = (char *)baseAddr + HEAP_BOUNDARY_GOT_OFFSET;
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
callback/demo-callback.c:61:27: error: incompatible pointer to integer conversion passing 'char *' to parameter of type 'uint64_t' (aka 'unsigned long') [-Wint-conversion]
61 | if(uc_mem_map_ptr(uc, heapBase, HEAP_SIZE, UC_PROT_READ | UC_PROT_WRITE, heapBase) != UC_ERR_OK) {
| ^~~~~~~~
/usr/include/unicorn/unicorn.h:945:47: note: passing argument to parameter 'address' here
945 | uc_err uc_mem_map_ptr(uc_engine *uc, uint64_t address, size_t size,
| ^
callback/demo-callback.c:74:27: error: incompatible pointer to integer conversion passing 'char *' to parameter of type 'uint64_t' (aka 'unsigned long') [-Wint-conversion]
74 | if(uc_mem_map_ptr(uc, stackTop, STACK_SIZE, UC_PROT_READ | UC_PROT_WRITE, stackTop) != UC_ERR_OK) {
| ^~~~~~~~
/usr/include/unicorn/unicorn.h:945:47: note: passing argument to parameter 'address' here
945 | uc_err uc_mem_map_ptr(uc_engine *uc, uint64_t address, size_t size,
| ^
callback/demo-callback.c:87:27: error: incompatible pointer to integer conversion passing 'char *' to parameter of type 'uint64_t' (aka 'unsigned long') [-Wint-conversion]
87 | if(uc_mem_map_ptr(uc, dataAddr, DATA_SIZE, UC_PROT_READ | UC_PROT_WRITE, dataAddr) != UC_ERR_OK) {
| ^~~~~~~~
/usr/include/unicorn/unicorn.h:945:47: note: passing argument to parameter 'address' here
945 | uc_err uc_mem_map_ptr(uc_engine *uc, uint64_t address, size_t size,
| ^
callback/demo-callback.c:96:9: error: incompatible pointer to integer conversion assigning to 'uint32_t' (aka 'unsigned int') from 'char *' [-Wint-conversion]
96 | reg = stackTop+STACK_SIZE - 0x200;
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
callback/demo-callback.c:99:9: error: incompatible pointer to integer conversion assigning to 'uint32_t' (aka 'unsigned int') from 'char *' [-Wint-conversion]
99 | reg = dataAddr;
| ^ ~~~~~~~~
callback/demo-callback.c:125:22: error: incompatible pointer to integer conversion assigning to 'uint32_t' (aka 'unsigned int') from 'char *' [-Wint-conversion]
125 | *heapBoundaryGOT = heapBase;
| ^ ~~~~~~~~
callback/demo-callback.c:156:15: error: incompatible integer to pointer conversion initializing 'uint32_t *' (aka 'unsigned int *') with an expression of type 'uint32_t' (aka 'unsigned int'); remove * [-Wint-conversion]
156 | uint32_t *boundary = *heapBoundaryGOT;
| ^ ~~~~~~~~~~~~~~~~
callback/demo-callback.c:159:15: warning: incompatible pointer types initializing 'uint32_t *' (aka 'unsigned int *') with an expression of type 'char *' [-Wincompatible-pointer-types]
159 | uint32_t *start = heapBase;
| ^ ~~~~~~~~
callback/demo-callback.c:175:15: warning: incompatible pointer types assigning to 'uint32_t *' (aka 'unsigned int *') from 'char *' [-Wincompatible-pointer-types]
175 | start = (char *)start + chunk_len + 8;
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings and 7 errors generated.
make: *** [Makefile:23: callback/demo-callback.o] Error 1
Please @rk700 can you fix it?