Merge "Grant statsd pull atom permission" into mainline-prod
diff --git a/src/com/android/providers/media/util/IsoInterface.java b/src/com/android/providers/media/util/IsoInterface.java
index 5de4b6b..03b46c9 100644
--- a/src/com/android/providers/media/util/IsoInterface.java
+++ b/src/com/android/providers/media/util/IsoInterface.java
@@ -177,14 +177,25 @@
                 return null;
             }
 
-            box.data = new byte[(int) (len - box.headerSize)];
+            try {
+                box.data = new byte[(int) (len - box.headerSize)];
+            } catch (OutOfMemoryError e) {
+                Log.w(TAG, "Couldn't read large uuid box", e);
+                return null;
+            }
             Os.read(fd, box.data, 0, box.data.length);
         } else if (type == BOX_XMP) {
             if (len > Integer.MAX_VALUE) {
                 Log.w(TAG, "Skipping abnormally large xmp box");
                 return null;
             }
-            box.data = new byte[(int) (len - box.headerSize)];
+
+            try {
+                box.data = new byte[(int) (len - box.headerSize)];
+            } catch (OutOfMemoryError e) {
+                Log.w(TAG, "Couldn't read large xmp box", e);
+                return null;
+            }
             Os.read(fd, box.data, 0, box.data.length);
         } else if (type == BOX_META && len != headerSize) {
             // The format of this differs in ISO and QT encoding: