Crash by invalid ac4 field of mp4 file in fuzzy test

Bug: 150391804
Test: crash occurs in fuzzy test.

Change-Id: I8b69c11ea7a4f3573cf19ad85f85bddb44565659
Merged-In: I8b69c11ea7a4f3573cf19ad85f85bddb44565659
(cherry-picked from commit
 9d288727bda47c43d5f5af84b867655ba891cbc4)
diff --git a/media/extractors/mp4/AC4Parser.cpp b/media/extractors/mp4/AC4Parser.cpp
index 13d60c8..25fc4cd 100644
--- a/media/extractors/mp4/AC4Parser.cpp
+++ b/media/extractors/mp4/AC4Parser.cpp
@@ -600,6 +600,10 @@
         if (ac4_dsi_version == 1) {
             uint64_t end = (mDSISize - mBitReader.numBitsLeft()) / 8;
             uint64_t presentation_bytes = end - start;
+            if (pres_bytes < presentation_bytes) {
+                ALOGE("pres_bytes is smaller than presentation_bytes.");
+                return false;
+            }
             uint64_t skip_bytes = pres_bytes - presentation_bytes;
             ALOGV("skipping = %" PRIu64 " bytes", skip_bytes);
             CHECK_BITS_LEFT(skip_bytes * 8);