Miscellaneous Stops |
The Miscellaneous verification layer consists of two checks:
- Dirty Stacks Stop Details: When this check is enabled, the verifier will fill [periodically] the unused portion of the stack with a memory pattern. This can help detect uninitialized variables in future function calls in that thread�s context. For example, if a future function allocates a pointer variable on the stack but forgets to initialize it:
-
Without the verifier there is a chance that the pointer will happen to be NULL and the function will handle it (bug goes undetected);
-
With the verifier, the pointer will be initialized with the verifier memory pattern and will likely AV when trying to use that pointer (bug identified).
-
Without the verifier there is a chance that the pointer will happen to be NULL and the function will handle it (bug goes undetected);
- Dangerous APIs Stop Details: Detect the dangerous API usage such as calling TerminateProcess/TerminateThread or calling LoadLibary within DllMain.
- Time Rollover: This test forces the GetTickCount and TimeGetTime APIs to roll over faster than they normally would. This allows applications to test their handling of time rollover more easily.