Updated: April 19, 2023 |
Perform consistency check on memory
#include <malloc.h> enum mcheck_status mprobe(void * ptr);
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The mprobe() function attempts to perform consistency checks on the allocated block specified by ptr, which was previously returned by a call to calloc(), malloc() or realloc().
Consistency checks look for inconsistencies within the block header or in the block trailer byte. They may also detect block overruns.
The level of checking provided depends on which version of the allocator you've linked the application with:
One of the values of the mcheck_status enumeration:
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | No |
Thread | Yes |
Calling mprobe() on a pointer already deallocated by a call to free() or realloc() could corrupt the memory allocator's data structures and result in undefined behavior.