This CL adds a weak check for a Vtable prefix: for a well-formed
Vtable, we require the prefix to be within [-1<<20; 1<<20].
Practically, this solves most of the known cases when UBSan segfaults
without providing any useful diagnostics.
Differential D19750
UBSan: crash less often on corrupted Vtables. krasin on Apr 29 2016, 4:15 PM. Authored by
Details This CL adds a weak check for a Vtable prefix: for a well-formed Practically, this solves most of the known cases when UBSan segfaults
Diff Detail Event TimelineComment Actions Hi Peter, I realize that this CL misses a test and I would like to write one. I am currently stubled by the fact that the code changed lives within ubsan_type_hash_itanium.cc, so the test could only run on a subset of supported platforms. It's unclear to me what should I add to the test restrictions to make it happen. Comment Actions Peter, please, take another look.
Comment Actions LGTM with nits
Comment Actions Please, take another look.
|
The comment is inaccurate, your code allows negative offsets.
Also, just "offsets" is a little unclear, maybe say "offset to top"?