rename API uc_mem_free() to uc_free(). see #662

This commit is contained in:
Nguyen Anh Quynh 2017-01-10 20:59:14 +08:00
parent 7512ff57de
commit bc569f5a54
11 changed files with 18 additions and 18 deletions

View file

@ -17,7 +17,7 @@ func (u *uc) ContextSave(reuse Context) (Context, error) {
if err := errReturn(C.uc_context_alloc(u.handle, ctx)); err != nil {
return nil, err
}
runtime.SetFinalizer(ctx, func(p Context) { C.uc_mem_free(*p) })
runtime.SetFinalizer(ctx, func(p Context) { C.uc_free(*p) })
if err := errReturn(C.uc_context_save(u.handle, *ctx)); err != nil {
}
return ctx, nil

View file

@ -117,7 +117,7 @@ instance Storable MemoryRegion where
-- | Opaque storage for CPU context, used with the context functions.
{# pointer *uc_context as Context
foreign finalizer uc_mem_free_wrapper as memFree
foreign finalizer uc_free_wrapper as memFree
newtype
#}
@ -125,7 +125,7 @@ instance Storable MemoryRegion where
{# pointer *uc_context as ContextPtr -> Context #}
-- | Make a CPU context out of a context pointer. The returned CPU context will
-- automatically call 'uc_mem_free' when it goes out of scope.
-- automatically call 'uc_free' when it goes out of scope.
mkContext :: ContextPtr
-> IO Context
mkContext ptr =

View file

@ -7,6 +7,6 @@ void uc_close_wrapper(uc_engine *uc) {
void uc_close_dummy(uc_engine *uc) {
}
void uc_mem_free_wrapper(void *mem) {
uc_mem_free(mem);
void uc_free_wrapper(void *mem) {
uc_free(mem);
}

View file

@ -14,8 +14,8 @@ void uc_close_wrapper(uc_engine *uc);
void uc_close_dummy(uc_engine *uc);
/*
* Wrap Unicorn's uc_mem_free function and ignore the returned error code.
* Wrap Unicorn's uc_free function and ignore the returned error code.
*/
void uc_mem_free_wrapper(void *context);
void uc_free_wrapper(void *context);
#endif

View file

@ -746,7 +746,7 @@ JNIEXPORT jlong JNICALL Java_unicorn_Unicorn_context_1alloc
*/
JNIEXPORT void JNICALL Java_unicorn_Unicorn_context_1free
(JNIEnv *env, jobject self, jlong ctx) {
uc_err err = uc_mem_free((void *)ctx);
uc_err err = uc_free((void *)ctx);
if (err != UC_ERR_OK) {
throwException(env, err);
}

View file

@ -126,7 +126,7 @@ _setup_prototype(_uc, "uc_mem_unmap", ucerr, uc_engine, ctypes.c_uint64, ctypes.
_setup_prototype(_uc, "uc_mem_protect", ucerr, uc_engine, ctypes.c_uint64, ctypes.c_size_t, ctypes.c_uint32)
_setup_prototype(_uc, "uc_query", ucerr, uc_engine, ctypes.c_uint32, ctypes.POINTER(ctypes.c_size_t))
_setup_prototype(_uc, "uc_context_alloc", ucerr, uc_engine, ctypes.POINTER(uc_context))
_setup_prototype(_uc, "uc_mem_free", ucerr, ctypes.c_void_p)
_setup_prototype(_uc, "uc_free", ucerr, ctypes.c_void_p)
_setup_prototype(_uc, "uc_context_save", ucerr, uc_engine, uc_context)
_setup_prototype(_uc, "uc_context_restore", ucerr, uc_engine, uc_context)
@ -496,7 +496,7 @@ class SavedContext(object):
self.pointer = pointer
def __del__(self):
status = _uc.uc_mem_free(self.pointer)
status = _uc.uc_free(self.pointer)
if status != uc.UC_ERR_OK:
raise UcError(status)

View file

@ -642,7 +642,7 @@ uc_err uc_mem_protect(uc_engine *uc, uint64_t address, size_t size, uint32_t per
@uc: handle returned by uc_open()
@regions: pointer to an array of uc_mem_region struct. This is allocated by
Unicorn, and must be freed by user later with uc_mem_free()
Unicorn, and must be freed by user later with uc_free()
@count: pointer to number of struct uc_mem_region contained in @regions
@return UC_ERR_OK on success, or other value on failure (refer to uc_err enum
@ -660,7 +660,7 @@ uc_err uc_mem_regions(uc_engine *uc, uc_mem_region **regions, uint32_t *count);
@uc: handle returned by uc_open()
@context: pointer to a uc_engine*. This will be updated with the pointer to
the new context on successful return of this function.
Later, this allocated memory must be freed with uc_mem_free().
Later, this allocated memory must be freed with uc_free().
@return UC_ERR_OK on success, or other value on failure (refer to uc_err enum
for detailed error).
@ -678,7 +678,7 @@ uc_err uc_context_alloc(uc_engine *uc, uc_context **context);
for detailed error).
*/
UNICORN_EXPORT
uc_err uc_mem_free(void *mem);
uc_err uc_free(void *mem);
/*
Save a copy of the internal CPU context.

View file

@ -759,9 +759,9 @@ static void test_i386_context_save(void)
printf(">>> EAX = 0x%x\n", r_eax);
// free the CPU context
err = uc_mem_free(context);
err = uc_free(context);
if (err) {
printf("Failed on uc_mem_free() with error returned: %u\n", err);
printf("Failed on uc_free() with error returned: %u\n", err);
return;
}

View file

@ -32,7 +32,7 @@ int main(int argc, char **argv, char **envp) {
starts[i], regions[i].begin);
}
}
uc_mem_free(regions);
uc_free(regions);
}
uc_close(uc);

View file

@ -800,7 +800,7 @@ static void test_i386_reg_save(void **state)
assert_int_equal(eax, 2);
// clean up;
uc_mem_free(saved_context);
uc_free(saved_context);
uc_assert_success(uc_close(uc));
}
/******************************************************************************/

2
uc.c
View file

@ -1193,7 +1193,7 @@ uc_err uc_context_alloc(uc_engine *uc, uc_context **context)
}
UNICORN_EXPORT
uc_err uc_mem_free(void *mem)
uc_err uc_free(void *mem)
{
g_free(mem);
return UC_ERR_OK;