diff --git a/bindings/ruby/unicorn_gem/ext/unicorn.c b/bindings/ruby/unicorn_gem/ext/unicorn.c index c7979343..bd23086c 100644 --- a/bindings/ruby/unicorn_gem/ext/unicorn.c +++ b/bindings/ruby/unicorn_gem/ext/unicorn.c @@ -73,11 +73,11 @@ VALUE m_uc_emu_start(int argc, VALUE* argv, VALUE self){ Data_Get_Struct(rb_iv_get(self,"@uch"), uc_engine, _uc); rb_scan_args(argc, argv, "22",&begin, &until, &timeout, &count); - if (NIL_P(timeout)) - timeout = INT2NUM(0); + if (NIL_P(timeout)) + timeout = INT2NUM(0); - if (NIL_P(count)) - count = INT2NUM(0); + if (NIL_P(count)) + count = INT2NUM(0); err = uc_emu_start(_uc, NUM2ULL(begin), NUM2ULL(until), NUM2INT(timeout), NUM2INT(count)); if (err != UC_ERR_OK) { @@ -133,7 +133,7 @@ VALUE m_uc_reg_read(VALUE self, VALUE reg_id){ if (err != UC_ERR_OK) { rb_raise(UcError, "%s", uc_strerror(err)); } - return LL2NUM(reg_value); + return ULL2NUM(reg_value); } } @@ -165,7 +165,7 @@ VALUE m_uc_reg_write(VALUE self, VALUE reg_id, VALUE reg_value){ err = uc_reg_write(_uc, NUM2INT(reg_id), &tmp); break; } - + if (err != UC_ERR_OK) { rb_raise(UcError, "%s", uc_strerror(err)); } @@ -205,8 +205,8 @@ VALUE m_uc_mem_map(int argc, VALUE* argv, VALUE self){ uc_engine *_uc; Data_Get_Struct(rb_iv_get(self,"@uch"), uc_engine, _uc); rb_scan_args(argc, argv, "21",&address, &size, &perms); - if (NIL_P(perms)) - perms = INT2NUM(UC_PROT_ALL); + if (NIL_P(perms)) + perms = INT2NUM(UC_PROT_ALL); err = uc_mem_map(_uc, NUM2ULL(address), NUM2UINT(size), NUM2UINT(perms)); if (err != UC_ERR_OK) { @@ -332,14 +332,14 @@ VALUE m_uc_hook_add(int argc, VALUE* argv, VALUE self){ uc_engine *_uc; Data_Get_Struct(rb_iv_get(self,"@uch"), uc_engine, _uc); rb_scan_args(argc, argv, "24",&hook_type, &callback, &user_data, &begin, &end, &arg1); - if (NIL_P(begin)) - begin = ULL2NUM(1); + if (NIL_P(begin)) + begin = ULL2NUM(1); - if (NIL_P(end)) - end = ULL2NUM(0); + if (NIL_P(end)) + end = ULL2NUM(0); - if (NIL_P(arg1)) - arg1 = INT2NUM(0); + if (NIL_P(arg1)) + arg1 = INT2NUM(0); VALUE passthrough; uc_hook trace; @@ -374,12 +374,12 @@ VALUE m_uc_hook_add(int argc, VALUE* argv, VALUE self){ else if(htype == UC_HOOK_CODE || htype == UC_HOOK_BLOCK){ err = uc_hook_add(_uc, &trace, htype, cb_hook_code,(void *)passthrough, NUM2ULL(begin), NUM2ULL(end)); } - else if (htype & UC_HOOK_MEM_READ_UNMAPPED - || htype & UC_HOOK_MEM_WRITE_UNMAPPED - || htype & UC_HOOK_MEM_FETCH_UNMAPPED - || htype & UC_HOOK_MEM_READ_PROT - || htype & UC_HOOK_MEM_WRITE_PROT - || htype & UC_HOOK_MEM_FETCH_PROT + else if (htype & UC_HOOK_MEM_READ_UNMAPPED + || htype & UC_HOOK_MEM_WRITE_UNMAPPED + || htype & UC_HOOK_MEM_FETCH_UNMAPPED + || htype & UC_HOOK_MEM_READ_PROT + || htype & UC_HOOK_MEM_WRITE_PROT + || htype & UC_HOOK_MEM_FETCH_PROT || htype & UC_HOOK_MEM_READ_INVALID || htype & UC_HOOK_MEM_WRITE_INVALID || htype & UC_HOOK_MEM_FETCH_INVALID @@ -387,7 +387,7 @@ VALUE m_uc_hook_add(int argc, VALUE* argv, VALUE self){ || htype & UC_HOOK_MEM_PROT || htype & UC_HOOK_MEM_INVALID) { err = uc_hook_add(_uc, &trace, htype, cb_hook_mem_invalid,(void *)passthrough, NUM2ULL(begin), NUM2ULL(end)); - } + } else{ err = uc_hook_add(_uc, &trace, htype, cb_hook_mem_access,(void *)passthrough, NUM2ULL(begin), NUM2ULL(end)); }