Bug 950293 (Part 1) - Fix handling of little-endian EXIF data. r=tn

This commit is contained in:
Seth Fowler 2013-12-16 14:11:10 -08:00
Родитель 4f47a5019c
Коммит 84836b3da9
1 изменённых файлов: 2 добавлений и 5 удалений

Просмотреть файл

@ -78,16 +78,13 @@ bool
EXIFParser::ParseTIFFHeader(uint32_t& aIFD0OffsetOut)
{
// Determine byte order.
if (MatchString("MM", 2))
if (MatchString("MM\0*", 4))
mByteOrder = ByteOrder::BigEndian;
else if (MatchString("II", 2))
else if (MatchString("II*\0", 4))
mByteOrder = ByteOrder::LittleEndian;
else
return false;
if (!MatchString("\0*", 2))
return false;
// Determine offset of the 0th IFD. (It shouldn't be greater than 64k, which
// is the maximum size of the entry APP1 segment.)
uint32_t ifd0Offset;