Visible to Intel only — GUID: GUID-AE426BC2-D942-4C2F-B376-CC9249817B95
Visible to Intel only — GUID: GUID-AE426BC2-D942-4C2F-B376-CC9249817B95
Checking Runtime Library Functions
The pointer checker is not supported on macOS systems.
The pointer checker provides checking on C runtime library functions that manipulate memory through pointers. It uses a library of functions that either replace the runtime library function, or wrap them with the appropriate pointer checking mechanisms.
For functions that allocate memory, such as the malloc() function or various C++ new functions, the wrapper function create bounds information for the pointers returned by the memory allocator.
For functions that copy memory, such as the memcpy() function, the memory address may contain the pointers along with their associated bounds information. The wrapper functions check for out-of-bounds accesses and ensure that any bounds associated with the copied memory are also copied.
The point checker C runtime function wrappers are located in the libchkpwrap library. To determine which C runtime routines are wrapped, you can examine the entry points in the library. For example, the following will yield a list of entry points:
Linux
% nm libchkpwrap.a | egrep 'T __chkp_'
Windows
dumpbin /symbols libchkpwrap.lib | egrep 'SECT.*External.* [_]*__chkp_'
The returned list will include entry points that signify wrappers. For example, __chkp_strcpy is the wrapper for strcpy.