754 |
|
|
755 |
|
if (eip == 0) |
756 |
|
return false; |
757 |
+ |
#ifdef _WIN32 |
758 |
+ |
if (IsBadCodePtr((FARPROC)eip)) |
759 |
+ |
return false; |
760 |
+ |
#endif |
761 |
|
|
762 |
|
transfer_type_t transfer_type = SIGSEGV_TRANSFER_UNKNOWN; |
763 |
|
transfer_size_t transfer_size = SIZE_LONG; |
1518 |
|
break; |
1519 |
|
#endif |
1520 |
|
case SIGSEGV_RETURN_FAILURE: |
1521 |
< |
return false; |
1521 |
> |
// We can't do anything with the fault_address, dump state? |
1522 |
> |
if (sigsegv_state_dumper != 0) |
1523 |
> |
sigsegv_state_dumper(fault_address, fault_instruction); |
1524 |
> |
break; |
1525 |
|
} |
1519 |
– |
|
1520 |
– |
// We can't do anything with the fault_address, dump state? |
1521 |
– |
if (sigsegv_state_dumper != 0) |
1522 |
– |
sigsegv_state_dumper(fault_address, fault_instruction); |
1526 |
|
|
1527 |
|
return false; |
1528 |
|
} |