# The rules in this file are only applied at compile time. If you can modify the
# source in question, consider function attributes to disable instrumentation.
#
# Please think twice before you add or remove these rules.

# False positive in ffmpeg due to assembly code. http://crbug.com/344505
fun:ff_get_cpu_flags_x86

# Benign uninits in zlib.
# http://crbug.com/116277
fun:*MOZ_Z_deflate*
# http://crbug.com/418383
fun:longest_match

# Uninit in zlib with SIMD intrinsic http://crbug.com/426868
fun:crc_fold512_to_32

# False positives due to use of linux_syscall_support. http://crbug.com/394028
src:*/third_party/breakpad/breakpad/src/*
src:*/components/crash/content/app/breakpad_linux.cc
