Merge "Add default code reviewers into OWNERS" am: 32be57522a am: a0a8d584d2
am: 80900c3761
Change-Id: I489ca0627637830586352fa00cc1d80c7876b3dd
diff --git a/libFLAC/Android.bp b/libFLAC/Android.bp
index d1b51f1..1ad522b 100644
--- a/libFLAC/Android.bp
+++ b/libFLAC/Android.bp
@@ -51,9 +51,15 @@
},
sanitize: {
- cfi: true,
+ integer_overflow: true,
+ misc_undefined: ["bounds"],
+ // Enable CFI if this is used as a shared library
+ // cfi: true,
diag: {
- cfi: true,
+ integer_overflow: true,
+ misc_undefined: ["bounds"],
+ no_recover: ["bounds", "integer"],
},
+ blacklist: "libFLAC_blacklist.txt",
},
}
diff --git a/libFLAC/fixed.c b/libFLAC/fixed.c
index 1e2d5b2..ed9f498 100644
--- a/libFLAC/fixed.c
+++ b/libFLAC/fixed.c
@@ -166,7 +166,7 @@
bits = FLAC__bitmath_ilog2_wide(err)+1;
if(bits > 16) {
err >>= (bits-16);
- fracbits -= (bits-16);
+ fracbits -= (int)(bits-16); // defined, but cast to int to avoid ubsan assert.
}
rbps = (FLAC__uint32)err;
diff --git a/libFLAC/libFLAC_blacklist.txt b/libFLAC/libFLAC_blacklist.txt
new file mode 100644
index 0000000..7dff751
--- /dev/null
+++ b/libFLAC/libFLAC_blacklist.txt
@@ -0,0 +1,14 @@
+[integer]
+# Preemptive due to: while(lag--)
+fun:FLAC__lpc_compute_autocorrelation
+# libFLAC/stream_encoder.c:3982: 4294967292 + 128 cannot be represented in type 'unsigned int'
+fun:precompute_partition_info_sums_
+
+src:*/libFLAC/crc.c
+src:*/libFLAC/md5.c
+src:*/libFLAC/bitmath.c
+src:*/libFLAC/bitreader.c
+src:*/libFLAC/bitwriter.c
+
+# Performance related
+fun:FLAC__lpc_restore_signal_wide