Bug #66771 [Com]: exif_read_data returns malformed array

From: Date: Wed, 26 Feb 2014 00:18:50 +0000
Subject: Bug #66771 [Com]: exif_read_data returns malformed array
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-184433@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=66771&edit=1 ID: 66771 Comment by: chrispmaiden at gmail dot com Reported by: peter at oncefuture dot com Summary: exif_read_data returns malformed array Status: Open Type: Bug Package: EXIF related Operating System: Linux PHP Version: 5.4.25 Block user comment: N Private report: N New Comment: I'm not sure I am testing this correctly but I cannot reproduce this. I download 5.4.25 source code and did the following: ./configure --prefix=/home/matason/php --enable-exif make make install Then I created a PHP file: <?php // /home/matason/exif-test.php $exif = exif_read_data('/home/matason/Downloads/images/Samsung Galaxy S3 (1).jpg'); print_r($exif); And ran it with: /home/matason/php/bin/php -f /home/matason/exif-test.php And here's the output (note that it includes the closing paren): Array ( [FileName] => Samsung Galaxy S3 (1).jpg [FileDateTime] => 1363958740 [FileSize] => 1811414 [FileType] => 2 [MimeType] => image/jpeg [SectionsFound] => ANY_TAG, IFD0, THUMBNAIL, EXIF, INTEROP [COMPUTED] => Array ( [html] => width="3264" height="2448" [Height] => 2448 [Width] => 3264 [IsColor] => 1 [ByteOrderMotorola] => 0 [ApertureFNumber] => f/2.6 [UserComment] => �; [Thumbnail.FileType] => 2 [Thumbnail.MimeType] => image/jpeg [Thumbnail.Height] => 120 [Thumbnail.Width] => 160 ) [ImageWidth] => 3264 [ImageLength] => 2448 [Make] => SAMSUNG [Model] => GT-I9300 [Orientation] => 1 [XResolution] => 72/1 [YResolution] => 72/1 [ResolutionUnit] => 2 [Software] => I9300XXEMA2 [DateTime] => 2013:03:22 08:25:41 [YCbCrPositioning] => 1 [Exif_IFD_Pointer] => 224 [THUMBNAIL] => Array ( [ImageWidth] => 160 [ImageLength] => 120 [Compression] => 6 [Orientation] => 1 [XResolution] => 72/1 [YResolution] => 72/1 [ResolutionUnit] => 2 [JPEGInterchangeFormat] => 5046 [JPEGInterchangeFormatLength] => 7730 ) [ExposureTime] => 1/1444 [FNumber] => 26/10 [ExposureProgram] => 3 [ISOSpeedRatings] => 80 [ExifVersion] => 0220 [DateTimeOriginal] => 2013:03:22 08:25:41 [DateTimeDigitized] => 2013:03:22 08:25:41 [ComponentsConfiguration] => [ShutterSpeedValue] => 2687/256 [ApertureValue] => 276/100 [BrightnessValue] => 2234/256 [ExposureBiasValue] => 0/10 [MaxApertureValue] => 276/100 [MeteringMode] => 2 [Flash] => 0 [FocalLength] => 37/10 [MakerNote] => 0100 @P Z [UserComment] => �;K �xV4xV4xV4xV4`A9�@ ������CALGDFD06Cur.GDFI02CML018001001509002901090502010D010D010D090D� �&TUNA�� XX t l����U��w����EK����� ��� US����FLFLSVN# RX X R y Z ^JV� 8JKJK���x�}� " B�� X g"��t l����U��w����EK����� US����JKJK""""""""""""""""""""""""!""""""!"!"!"""""""""""���!"!"!"!"!"!"!"""!"!"!"!"!"������������ �� �� �� �� �� �� �� ������ �� �� �� �� �� �� �� ����� �� �� �� ������������� �� ��������������� �� �� ������������� �� �� �� �� ����������� �� �� �� �� �� �� ���������� �� �� �� �� �� �� �� JKJK�%��*�lM����>�V%��"���"���"��� )AFAFAFAF=G (AFAFް� �xR�)�)�ss\&�Ƴ6n������ΊFߛW�޼���40�� @7�> [FlashPixVersion] => 0100 [ColorSpace] => 1 [ExifImageWidth] => 3264 [ExifImageLength] => 2448 [InteroperabilityOffset] => 4886 [ExposureMode] => 0 [WhiteBalance] => 0 [SceneCaptureType] => 0 [ImageUniqueID] => GDFI02 [InterOperabilityIndex] => R98 [InterOperabilityVersion] => 0100 ) Previous Comments: ------------------------------------------------------------------------ [2014-02-25 18:19:38] peter at oncefuture dot com Description: ------------ exif_read_data returns malformed arrays (missing a closing parens) when reading from certain image files that come straight out of the camera (ie. no processing in any image manipulation/management program like photoshop). I can reproduce this on files from Samsung, Nikon, etc. Test script: --------------- $exif = @exif_read_data( $file ); print_r($exif, true); Test image files are here: http://goo.gl/Ry5fG6 Expected result: ---------------- Produces a malformed array without a closing paren: Array ( [FileName] => Samsung-Galaxy-S3-123.jpg [FileDateTime] => 1393350070 [FileSize] => 1811414 [FileType] => 2 [MimeType] => image/jpeg [SectionsFound] => ANY_TAG, IFD0, THUMBNAIL, EXIF, INTEROP [COMPUTED] => Array ( [html] => width="3264" height="2448" [Height] => 2448 [Width] => 3264 [IsColor] => 1 [ByteOrderMotorola] => 0 [ApertureFNumber] => f/2.6 [UserComment] => ø; [Thumbnail.FileType] => 2 [Thumbnail.MimeType] => image/jpeg [Thumbnail.Height] => 120 [Thumbnail.Width] => 160 ) [ImageWidth] => 3264 [ImageLength] => 2448 [Make] => SAMSUNG [Model] => GT-I9300 [Orientation] => 1 [XResolution] => 72/1 [YResolution] => 72/1 [ResolutionUnit] => 2 [Software] => I9300XXEMA2 [DateTime] => 2013:03:22 08:25:41 [YCbCrPositioning] => 1 [Exif_IFD_Pointer] => 224 [THUMBNAIL] => Array ( [ImageWidth] => 160 [ImageLength] => 120 [Compression] => 6 [Orientation] => 1 [XResolution] => 72/1 [YResolution] => 72/1 [ResolutionUnit] => 2 [JPEGInterchangeFormat] => 5046 [JPEGInterchangeFormatLength] => 7730 ) [ExposureTime] => 1/1444 [FNumber] => 26/10 [ExposureProgram] => 3 [ISOSpeedRatings] => 80 [ExifVersion] => 0220 [DateTimeOriginal] => 2013:03:22 08:25:41 [DateTimeDigitized] => 2013:03:22 08:25:41 [ComponentsConfiguration] => ) Actual result: -------------- Array ( [FileName] => Samsung-Galaxy-S3-123.jpg [FileDateTime] => 1393350070 [FileSize] => 1811414 [FileType] => 2 [MimeType] => image/jpeg [SectionsFound] => ANY_TAG, IFD0, THUMBNAIL, EXIF, INTEROP [COMPUTED] => Array ( [html] => width="3264" height="2448" [Height] => 2448 [Width] => 3264 [IsColor] => 1 [ByteOrderMotorola] => 0 [ApertureFNumber] => f/2.6 [UserComment] => ø; [Thumbnail.FileType] => 2 [Thumbnail.MimeType] => image/jpeg [Thumbnail.Height] => 120 [Thumbnail.Width] => 160 ) [ImageWidth] => 3264 [ImageLength] => 2448 [Make] => SAMSUNG [Model] => GT-I9300 [Orientation] => 1 [XResolution] => 72/1 [YResolution] => 72/1 [ResolutionUnit] => 2 [Software] => I9300XXEMA2 [DateTime] => 2013:03:22 08:25:41 [YCbCrPositioning] => 1 [Exif_IFD_Pointer] => 224 [THUMBNAIL] => Array ( [ImageWidth] => 160 [ImageLength] => 120 [Compression] => 6 [Orientation] => 1 [XResolution] => 72/1 [YResolution] => 72/1 [ResolutionUnit] => 2 [JPEGInterchangeFormat] => 5046 [JPEGInterchangeFormatLength] => 7730 ) [ExposureTime] => 1/1444 [FNumber] => 26/10 [ExposureProgram] => 3 [ISOSpeedRatings] => 80 [ExifVersion] => 0220 [DateTimeOriginal] => 2013:03:22 08:25:41 [DateTimeDigitized] => 2013:03:22 08:25:41 [ComponentsConfiguration] => ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=66771&edit=1

« previous php.bugs (#184433) next »