diff --git a/bindings/go/unicorn/uc.c b/bindings/go/unicorn/uc.c index 7d67c798..d21e66fa 100644 --- a/bindings/go/unicorn/uc.c +++ b/bindings/go/unicorn/uc.c @@ -4,7 +4,8 @@ uc_err uc_reg_read_batch_helper(uc_engine *handle, int *regs, uint64_t *val_out, int count) { void **val_ref = malloc(sizeof(void *) * count); - for (int i = 0; i < count; i++) { + int i; + for (i = 0; i < count; i++) { val_ref[i] = (void *)&val_out[i]; } uc_err ret = uc_reg_read_batch(handle, regs, val_ref, count); @@ -13,11 +14,12 @@ uc_err uc_reg_read_batch_helper(uc_engine *handle, int *regs, uint64_t *val_out, } uc_err uc_reg_write_batch_helper(uc_engine *handle, int *regs, uint64_t *val_in, int count) { - const void **val_ref = malloc(sizeof(void *) * count); - for (int i = 0; i < count; i++) { + void **val_ref = malloc(sizeof(void *) * count); + int i; + for (i = 0; i < count; i++) { val_ref[i] = (void *)&val_in[i]; } - uc_err ret = uc_reg_write_batch(handle, regs, val_ref, count); + uc_err ret = uc_reg_write_batch(handle, regs, (void *const *)val_ref, count); free(val_ref); return ret; }