Merge "Enable fsanitize signed-integer-overflow in Soft VPX decoder"
diff --git a/include/media/stagefright/foundation/ABuffer.h b/include/media/stagefright/foundation/ABuffer.h
index 6294ee7..dc9c778 100644
--- a/include/media/stagefright/foundation/ABuffer.h
+++ b/include/media/stagefright/foundation/ABuffer.h
@@ -33,8 +33,6 @@
ABuffer(size_t capacity);
ABuffer(void *data, size_t capacity);
- void setFarewellMessage(const sp<AMessage> msg);
-
uint8_t *base() { return (uint8_t *)mData; }
uint8_t *data() { return (uint8_t *)mData + mRangeOffset; }
size_t capacity() const { return mCapacity; }
@@ -58,7 +56,6 @@
virtual ~ABuffer();
private:
- sp<AMessage> mFarewell;
sp<AMessage> mMeta;
MediaBufferBase *mMediaBufferBase;
diff --git a/media/libstagefright/codecs/m4v_h263/dec/Android.mk b/media/libstagefright/codecs/m4v_h263/dec/Android.mk
index 1d232c6..eb39b44 100644
--- a/media/libstagefright/codecs/m4v_h263/dec/Android.mk
+++ b/media/libstagefright/codecs/m4v_h263/dec/Android.mk
@@ -47,6 +47,8 @@
LOCAL_CFLAGS := -DOSCL_EXPORT_REF= -DOSCL_IMPORT_REF=
LOCAL_CFLAGS += -Werror
+LOCAL_CLANG := true
+LOCAL_SANITIZE := signed-integer-overflow
include $(BUILD_STATIC_LIBRARY)
@@ -75,5 +77,7 @@
LOCAL_MODULE_TAGS := optional
LOCAL_CFLAGS += -Werror
+LOCAL_CLANG := true
+LOCAL_SANITIZE := signed-integer-overflow
include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/codecs/m4v_h263/enc/Android.mk b/media/libstagefright/codecs/m4v_h263/enc/Android.mk
index 762e6fe..ab079e8 100644
--- a/media/libstagefright/codecs/m4v_h263/enc/Android.mk
+++ b/media/libstagefright/codecs/m4v_h263/enc/Android.mk
@@ -34,6 +34,8 @@
$(TOP)/frameworks/native/include/media/openmax
LOCAL_CFLAGS += -Werror
+LOCAL_CLANG := true
+LOCAL_SANITIZE := signed-integer-overflow
include $(BUILD_STATIC_LIBRARY)
@@ -75,6 +77,8 @@
LOCAL_MODULE_TAGS := optional
LOCAL_CFLAGS += -Werror
+LOCAL_CLANG := true
+LOCAL_SANITIZE := signed-integer-overflow
include $(BUILD_SHARED_LIBRARY)
@@ -89,6 +93,8 @@
$(LOCAL_PATH)/include
LOCAL_CFLAGS := -DOSCL_EXPORT_REF= -DOSCL_IMPORT_REF= -DBX_RC
+LOCAL_CLANG := true
+LOCAL_SANITIZE := signed-integer-overflow
LOCAL_STATIC_LIBRARIES := \
libstagefright_m4vh263enc
diff --git a/media/libstagefright/codecs/m4v_h263/enc/src/fastcodemb.cpp b/media/libstagefright/codecs/m4v_h263/enc/src/fastcodemb.cpp
index 0ad39a6..50c8161 100644
--- a/media/libstagefright/codecs/m4v_h263/enc/src/fastcodemb.cpp
+++ b/media/libstagefright/codecs/m4v_h263/enc/src/fastcodemb.cpp
@@ -527,6 +527,9 @@
/* Modified : */
/* 8/15/01, - do 4 pixel at a time assuming 32 bit register */
/* ======================================================================== */
+#ifdef __clang__
+__attribute((no_sanitize("integer")))
+#endif
Int Sad8x8(UChar *cur, UChar *prev, Int width)
{
UChar *end = cur + (width << 3);
@@ -590,7 +593,9 @@
/* Modified : */
/* 8/15/01, - SIMD 4 pixels at a time */
/* ======================================================================== */
-
+#ifdef __clang__
+__attribute((no_sanitize("integer")))
+#endif
Int getBlockSum(UChar *cur, Int width)
{
Int sad = 0, sum4 = 0, sum2 = 0;
diff --git a/media/libstagefright/foundation/ABuffer.cpp b/media/libstagefright/foundation/ABuffer.cpp
index a5b81a8..804046a 100644
--- a/media/libstagefright/foundation/ABuffer.cpp
+++ b/media/libstagefright/foundation/ABuffer.cpp
@@ -67,10 +67,6 @@
}
}
- if (mFarewell != NULL) {
- mFarewell->post();
- }
-
setMediaBufferBase(NULL);
}
@@ -82,10 +78,6 @@
mRangeLength = size;
}
-void ABuffer::setFarewellMessage(const sp<AMessage> msg) {
- mFarewell = msg;
-}
-
sp<AMessage> ABuffer::meta() {
if (mMeta == NULL) {
mMeta = new AMessage;