Implement ASAN poisoning for TArray reserved capacity.

Reading or writing past the end of a TArray's storage will now cause
ASAN to immediately halt execution. This change dovetails with
http://review.skia.org/842503, which rounded up STArray storage
buffers to multiples of 8 bytes, because ASAN poisoning occurs at
8-byte granularities. For more information on ASAN's behavior with
small ranges, see https://github.com/google/sanitizers/wiki/AddressSanitizerAlgorithm#mapping .

Change-Id: I3681511d4f544b5d5f3e1d72837ea2b98fb0d7fb
Bug: skia:40044929
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/842482
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
4 files changed