summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2018-10-12 14:53:20 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2018-10-12 14:53:20 +0000
commitf52fe5feedc71c58f566b8a13c0251ab01a15e5c (patch)
tree9f56dfe2454bde5b09e5f0c5fb921c9b90da4f02
parent22f182d1b552df6bf8c2e59fff1fd228271025b9 (diff)
parent42d96ce87ce846b2c752f616f94ad37086f73433 (diff)
Merge "ExifInterface: Fix checking possible overflow"
-rw-r--r--media/java/android/media/ExifInterface.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/media/java/android/media/ExifInterface.java b/media/java/android/media/ExifInterface.java
index 2395b24f7136..b96a5853b9dc 100644
--- a/media/java/android/media/ExifInterface.java
+++ b/media/java/android/media/ExifInterface.java
@@ -3252,7 +3252,7 @@ public class ExifInterface {
int thumbnailLength = jpegInterchangeFormatLengthAttribute.getIntValue(mExifByteOrder);
// The following code limits the size of thumbnail size not to overflow EXIF data area.
- thumbnailLength = Math.min(thumbnailLength, in.available() - thumbnailOffset);
+ thumbnailLength = Math.min(thumbnailLength, in.getLength() - thumbnailOffset);
if (mMimeType == IMAGE_TYPE_JPEG || mMimeType == IMAGE_TYPE_RAF
|| mMimeType == IMAGE_TYPE_RW2) {
thumbnailOffset += mExifOffset;
@@ -3981,6 +3981,10 @@ public class ExifInterface {
public double readDouble() throws IOException {
return Double.longBitsToDouble(readLong());
}
+
+ public int getLength() {
+ return mLength;
+ }
}
// An output stream to write EXIF data area, which can be written in either little or big endian