############################################################################# # UBSan blacklist. ############################################################################# # YASM does some funny things that UBsan doesn't like. # https://crbug.com/489901 src:*/third_party/yasm/* ############################################################################# # V8 gives too many false positives. Ignore them for now. src:*/v8/* ############################################################################# # Ignore system libraries. src:*/usr/* ############################################################################# # V8 UBsan supressions, commented out for now since we are ignorning v8 # completely. # fun:*v8*internal*FastD2I* # fun:*v8*internal*ComputeIntegerHash* # fun:*v8*internal*ComputeLongHash* # fun:*v8*internal*ComputePointerHash* # src:*/v8/src/base/bits.cc # src:*/v8/src/base/functional.cc # Undefined behaviour (integer overflow) is expected but ignored in this # function. # fun:*JsonParser*ParseJsonNumber* # Runtime numeric functions. # src:*/v8/src/runtime/runtime-numbers.cc # Shifts of negative numbers # fun:*v8*internal*HPositionInfo*TagPosition* # fun:*v8*internal*Range*Shl* # fun:*v8*internal*RelocInfoWriter*WriteTaggedData* ############################################################################# # Undefined arithmetic that can be safely ignored. src:*/base/numerics/saturated_arithmetic.h src:*/ppapi/shared_impl/id_assignment.h ############################################################################# # ICU supressions. Mostly hash functions where integer overflow is OK. fun:*hashEntry* fun:*LocaleCacheKey*hashCode* fun:*google*protobuf*hash* fun:*(hash|Hash)* ############################################################################# # Bounds blacklist. # Array at the end of struct pattern: # Maybe UBSan itself can be improved here? # e.g. # struct blah { # int a; # char foo[2]; // not actually 2 # } src:*/net/disk_cache/blockfile/backend_impl.cc src:*/net/disk_cache/blockfile/entry_impl.cc src:*/third_party/icu/source/common/rbbi.cpp src:*/third_party/icu/source/common/rbbitblb.cpp src:*/third_party/icu/source/common/ucmndata.c ############################################################################# # Delete in destructor on a this where this == nullptr fun:*re2*RegexpD* ############################################################################# # Harmless float division by zero. fun:*RendererFrameManager*CullUnlockedFrames* ############################################################################# # libc++ __tree and map are not UBSAN clean # https://llvm.org/bugs/show_bug.cgi?id=19302 src:*/third_party/libc\+\+/trunk/include/__tree src:*/third_party/libc\+\+/trunk/include/map