From bb2a49c89d344c9cc90a19dd4900fa9d4729321c Mon Sep 17 00:00:00 2001 From: Earl Ou Date: Wed, 24 Oct 2012 13:09:39 +0800 Subject: Handle wrong thumbnail tag type Change-Id: If41834f0aa86425a06aaede815f3e0c3cdd17fd9 --- gallerycommon/src/com/android/gallery3d/exif/ExifParser.java | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'gallerycommon/src/com') diff --git a/gallerycommon/src/com/android/gallery3d/exif/ExifParser.java b/gallerycommon/src/com/android/gallery3d/exif/ExifParser.java index 36e3b4468..a6bbda078 100644 --- a/gallerycommon/src/com/android/gallery3d/exif/ExifParser.java +++ b/gallerycommon/src/com/android/gallery3d/exif/ExifParser.java @@ -450,6 +450,12 @@ public class ExifParser { */ public int getCompressedImageSize() { if (mJpegSizeTag == null) return 0; + + // Some invalid image use short type tag + if (mJpegSizeTag.getDataType() == ExifTag.TYPE_UNSIGNED_SHORT) { + return mJpegSizeTag.getUnsignedShort(0); + } + // Cast unsigned int to int since the thumbnail is always smaller // than the size of APP1 (65536) return (int) mJpegSizeTag.getUnsignedLong(0); -- cgit v1.2.3