diff --git a/media/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp b/media/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp index 9abc18618808..923b3588d5e2 100644 --- a/media/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp +++ b/media/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp @@ -636,8 +636,8 @@ SampleTable::parseSampleCencInfo() { return OK; } - if (!mCencSizes.IsEmpty() && mCencOffsets.Length() > 1 && - mCencSizes.IsEmpty() != mCencOffsets.Length()) { + if ((mCencOffsets.Length() > 1 && mCencOffsets.Length() < mCencInfoCount) || + (!mCencDefaultSize && mCencSizes.Length() < mCencInfoCount)) { return ERROR_MALFORMED; }