This change makes a couple changes that improve the stack error
reports when using a large shadow granularity. Currently, with large
shadow granularity, one frequently encounters the situation where
there are many small objects on the stack that do not have redzones in
between. If a buffer overrun occurs, Asan is unable to identify the
context and will report an unknown crash. We improve on this by the
- Always add a full redzone at the end of a stack frame.
- When scanning the shadow memory to determine the error type, if all
we've seen is partial right redzones, ignore them and keep scanning.
This gives us good stack reporting for the common case above.