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: