Fix wrong sync after UC_ERR_[READ, WRITE, FETCH]_[UNMAPPED, PROT] (#1368)
* Fix wrong sync after UC_ERR_[READ, WRITE, FETCH]_[UNMAPPED, PROT] Note that: 1. We only guarantee the pc (and other internal states) is correct if and only of `uc_emu_start` returns without any error (or errors have been handled in callbacks.). 2. If memory read/write error isn't handled by hooks, the state is undefined and the pc is probably wrong if no hook is installed. This fixes #1323. * Rename variables * Add note in unicorn.h * Refine test_i386_invalid_mem_read_in_tb
This commit is contained in:
@ -533,6 +533,10 @@ uc_err uc_mem_read(uc_engine *uc, uint64_t address, void *bytes, size_t size);
|
||||
we will emulate the code in infinite time, until the code is finished.
|
||||
@count: the number of instructions to be emulated. When this value is 0,
|
||||
we will emulate all the code available, until the code is finished.
|
||||
|
||||
NOTE: The internal states of the engine is guranteed to be correct if and only
|
||||
if uc_emu_start returns without any errors or errors have been handled in
|
||||
the callbacks.
|
||||
|
||||
@return UC_ERR_OK on success, or other value on failure (refer to uc_err enum
|
||||
for detailed error).
|
||||
|
Reference in New Issue
Block a user