--- title: "_drfuzz_fault_t Struct Reference" layout: default permalink: /struct__drfuzz__fault__t.html ---
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 |
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.
byte* _drfuzz_fault_t::access_address |
For memory access faults only, the address of the failed access attempt.
int _drfuzz_fault_t::fault_code |
Signal number (Unix) or exception code (Windows).
app_pc _drfuzz_fault_t::fault_pc |
The address within the target application where the fault occurred.
thread_id_t _drfuzz_fault_t::thread_id |
The thread that executed the fault.
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().