From: Brian Wolff Date: Mon, 24 Oct 2011 02:41:34 +0000 (+0000) Subject: (follow up r99477) not sure what I was doing on r99477, but its not right (doesn... X-Git-Tag: 1.31.0-rc.0~26942 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/operations/?a=commitdiff_plain;h=1b35e4ae1835116d2b5654b905483180b44df704;p=lhc%2Fweb%2Fwiklou.git (follow up r99477) not sure what I was doing on r99477, but its not right (doesn't work for odd number padding bytes) Will commit unittests in follow up. --- diff --git a/includes/media/JpegMetadataExtractor.php b/includes/media/JpegMetadataExtractor.php index 1f04342599..4769bf8e56 100644 --- a/includes/media/JpegMetadataExtractor.php +++ b/includes/media/JpegMetadataExtractor.php @@ -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 );