mirror of
https://github.com/yuzu-emu/unicorn
synced 2024-11-24 07:28:13 +00:00
Merge pull request #242 from practicalswift/segfault-on-stop
Fix segfault on emu_stop()
This commit is contained in:
commit
f70dc1becd
2 changed files with 17 additions and 2 deletions
13
tests/regress/segfault_on_stop.py
Executable file
13
tests/regress/segfault_on_stop.py
Executable file
|
@ -0,0 +1,13 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import regress
|
||||
import unicorn
|
||||
|
||||
|
||||
class SegfaultOnStop(regress.RegressTest):
|
||||
def test(self):
|
||||
unicorn.Uc(unicorn.UC_ARCH_X86, unicorn.UC_MODE_64).emu_stop()
|
||||
self.assertTrue(True, "If not reached, then we have a crashing bug.")
|
||||
|
||||
if __name__ == '__main__':
|
||||
regress.main()
|
6
uc.c
6
uc.c
|
@ -525,8 +525,10 @@ uc_err uc_emu_stop(uc_engine *uc)
|
|||
return UC_ERR_OK;
|
||||
|
||||
uc->stop_request = true;
|
||||
// exit the current TB
|
||||
cpu_exit(uc->current_cpu);
|
||||
if (uc->current_cpu) {
|
||||
// exit the current TB
|
||||
cpu_exit(uc->current_cpu);
|
||||
}
|
||||
|
||||
return UC_ERR_OK;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue