Merge pull request #242 from practicalswift/segfault-on-stop

Fix segfault on emu_stop()
This commit is contained in:
Nguyen Anh Quynh 2015-11-04 10:06:37 +08:00
commit f70dc1becd
2 changed files with 17 additions and 2 deletions

View 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
View file

@ -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;
}