(follow up r99477) not sure what I was doing on r99477, but its not right (doesn...
authorBrian Wolff <bawolff@users.mediawiki.org>
Mon, 24 Oct 2011 02:41:34 +0000 (02:41 +0000)
committerBrian Wolff <bawolff@users.mediawiki.org>
Mon, 24 Oct 2011 02:41:34 +0000 (02:41 +0000)
Will commit unittests in follow up.

includes/media/JpegMetadataExtractor.php

index 1f04342..4769bf8 100644 (file)
@@ -62,6 +62,10 @@ class JpegMetadataExtractor {
                        }
 
                        $buffer = fread( $fh, 1 );
+                       while( $buffer === "\xFF" && !feof( $fh ) ) {
+                               // Skip through any 0xFF padding bytes.
+                               $buffer = fread( $fh, 1 );
+                       }
                        if ( $buffer === "\xFE" ) {
 
                                // COM section -- file comment
@@ -123,9 +127,6 @@ class JpegMetadataExtractor {
                        } elseif ( $buffer === "\xD9" || $buffer === "\xDA" ) {
                                // EOI - end of image or SOS - start of scan. either way we're past any interesting segments
                                return $segments;
-                       } elseif ( $buffer === "\xFF" ) {
-                               // Padding byte. Skip.
-                               continue;
                        } else {
                                // segment we don't care about, so skip
                                $size = wfUnpack( "nint", fread( $fh, 2 ), 2 );