aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Lozano <ivanlozano@google.com>2018-07-10 12:01:23 -0700
committerIvan Lozano <ivanlozano@google.com>2018-07-17 09:45:49 -0700
commit11b93edeae70b5f00bc3d366b7cfa87f66f00487 (patch)
tree13f9842006474a7764f8a60bc0ff642c8532af24
parent53bd147a05128e887f2273112f41d8e6ec038be1 (diff)
downloadlibhevc-11b93edeae70b5f00bc3d366b7cfa87f66f00487.tar.gz
Enable integer overflow sanitization in libhevc.
Enable integer overflow sanitization in libhevc, initially in diagnostics mode. Bug: 110791537 Test: CTS tests Change-Id: Ib2979f76599a56f540e54d3377aeb0ddd71c2446
-rw-r--r--Android.bp4
-rw-r--r--libhevc_blacklist.txt (renamed from cfi_blacklist.txt)20
2 files changed, 23 insertions, 1 deletions
diff --git a/Android.bp b/Android.bp
index 13bb2a1..9926255 100644
--- a/Android.bp
+++ b/Android.bp
@@ -390,11 +390,13 @@ cc_library_static {
},
sanitize: {
+ integer_overflow: true,
cfi: true,
diag: {
+ integer_overflow: true,
cfi: true,
},
- blacklist: "cfi_blacklist.txt",
+ blacklist: "libhevc_blacklist.txt",
},
}
diff --git a/cfi_blacklist.txt b/libhevc_blacklist.txt
index 4193e81..b5af90e 100644
--- a/cfi_blacklist.txt
+++ b/libhevc_blacklist.txt
@@ -1,3 +1,4 @@
+[cfi]
# CFI blacklist for external/libhevc
# assembly functions where CFI has issues
@@ -457,3 +458,22 @@ fun:ihevc_weighted_pred_uni
fun:ihevc_weighted_pred_uni_sse42
fun:ihevc_weighted_pred_uni_ssse3
+[integer]
+# decoder/ihevcd_bitstream.c:250: 0 - 16 cannot be represented in type 'unsigned int'
+# decoder/ihevcd_bitstream.c:251: 4294967280 + 32 cannot be represented in type 'unsigned int'
+fun:ihevcd_bits_seek
+# decoder/ihevcd_decode.c:190: 0 - 22 cannot be represented in type 'unsigned int'
+fun:ihevcd_fill_outargs
+# decoder/ihevcd_nal.c:304: 0 - 1 cannot be represented in type 'unsigned int'
+fun:ihevcd_nal_unit_header
+# fun:ihevcd_parse_coding_unit
+# decoder/ihevcd_parse_residual.c:724: 5 - 32 cannot be represented in type 'unsigned int'
+# decoder/ihevcd_parse_residual.c:886: 5 - 32 cannot be represented in type 'unsigned int'
+fun:ihevcd_parse_residual_coding
+# decoder/ihevcd_sao.c:672:36: 8 - 248 cannot be represented in type 'unsigned int'
+# decoder/ihevcd_sao.c:751:36: 8 - 248 cannot be represented in type 'unsigned int'
+# decoder/ihevcd_sao.c:3395:36: 8 - 248 cannot be represented in type 'unsigned int'
+# decoder/ihevcd_sao.c:3473:36: 8 - 248 cannot be represented in type 'unsigned int'
+fun:ihevcd_sao_shift_ctb
+# decoder/ihevcd_bitstream.c:517: 0 - 1 cannot be represented in type 'unsigned int'
+fun:ihevcd_uev