Dr. Memory
|
#include <drfuzz.h>
Data Fields | |
int | fault_code |
app_pc | fault_pc |
byte * | access_address |
thread_id_t | thread_id |
void * | user_data |
Detailed Description
Provides basic information about an occurrence of a "critical fault", which in drfuzz refers to a subset of signals (Unix) or exceptions (Windows) that (a) are likely to be caused by fuzz testing, (b) imply errors and/or vulnerabilities in the code of the target application, and (c) terminate execution if they are not caught and handled. By default, the set of "critical faults" is SIGSEGV and SIGBUS on Unix, and Access Violation on Windows. (In a future release, the "critical faults" will be configurable by the drfuzz client.) Also see comments on drfuzz_register_fault_event().
Where provided by callbacks from this API, this struct may be retained indefinitely. Additional information about a critical fault is provided by drfuzz_fault_ex_t, which duplicates some data from this struct, but may not be retained after a callback.
Field Documentation
◆ access_address
byte* _drfuzz_fault_t::access_address |
For memory access faults only, the address of the failed access attempt.
◆ fault_code
int _drfuzz_fault_t::fault_code |
Signal number (Unix) or exception code (Windows).
◆ fault_pc
app_pc _drfuzz_fault_t::fault_pc |
The address within the target application where the fault occurred.
◆ thread_id
thread_id_t _drfuzz_fault_t::thread_id |
The thread that executed the fault.
◆ user_data
void* _drfuzz_fault_t::user_data |
Available for custom user data. To free the custom data when drfuzz deletes an instance of drfuzz_fault_t, use drfuzz_register_fault_delete_callback().
The documentation for this struct was generated from the following file: