History log of /PHP-7.4/ext/exif/exif.c (Results 1 – 25 of 419)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 376bbbdf 12-Aug-2020 Nikita Popov

Make MAX_IFD_NESTING_LEVEL an actual nesting level

Currently we only ever increment ifd_nesting_level, so this ends up
being a limit on the total number of IFD tags and we regularly get

Make MAX_IFD_NESTING_LEVEL an actual nesting level

Currently we only ever increment ifd_nesting_level, so this ends up
being a limit on the total number of IFD tags and we regularly get
bug reports of it being exceeded. I think the intention behind this
limit was to prevent recursion stack overflow, and for that we only
need to check actual recursive usage. I've implemented that here,
and dropped the nesting limit down to a smaller value
(which still passes our tests).

However, it seems that we do also need to have a total limit on
the number of tags, as we don't catch some instances of infinite
looping otherwise. Add this as a separate limit with a higher
value, that should hopefully be sufficient.

This is expected to fix a number of bugs:

https://bugs.php.net/bug.php?id=78083
https://bugs.php.net/bug.php?id=78701
https://bugs.php.net/bug.php?id=79907
https://bugs.php.net/bug.php?id=80016

show more ...


# 2fa4ca95 12-Jul-2020 Nawarian

Fix bug #75785 by attempt switching endianness on Maker's Note

Different manufacturer models may come with a
different endianness (motorola/intel) format. In
order to avoid a big ref

Fix bug #75785 by attempt switching endianness on Maker's Note

Different manufacturer models may come with a
different endianness (motorola/intel) format. In
order to avoid a big refactor and a gigantic lookup
table, this commit simply attempts to switch the
endianness and proceed when values are acceptable.

Closes GH-5849.

show more ...


# 5621c5fa 13-Jun-2020 Christoph M. Becker

Fix #79687: Sony picture - PHP Warning - Make, Model, MakerNotes

Even if the length of a maker note does not match our expectations
(either because the maker note is corrupted, or becaus

Fix #79687: Sony picture - PHP Warning - Make, Model, MakerNotes

Even if the length of a maker note does not match our expectations
(either because the maker note is corrupted, or because our
expectations do not quite match reality), there is no need to let
parsing fail; we can still go on parsing the other meta information.

show more ...


# 0b709e34 16-Apr-2020 Nikita Popov

Fix bug #79336

Make reading of floats and doubles host-endian independent.


# 25238bdf 16-Mar-2020 Stanislav Malyshev

Fixed bug #79282


# 41f66e2a 16-Mar-2020 Stanislav Malyshev

Fixed bug #79282


# b9d32197 16-Mar-2020 Stanislav Malyshev

Fixed bug #79282


# d1537e50 30-Dec-2019 Nikita Popov

Fixed bug #79046


# dd997a40 17-Dec-2019 Nikita Popov

Avoid float to int cast UB in exif


# c14eb8de 16-Dec-2019 Stanislav Malyshev

Fix bug #78793


# b74a300e 16-Dec-2019 Stanislav Malyshev

Fix build - no model field anymore


# d348cfb9 16-Dec-2019 Stanislav Malyshev

Fixed bug #78910


Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4
# 650115c8 09-Oct-2019 Nikita Popov

Improve exif tag name fetching


# 56e3e6f1 09-Oct-2019 Nikita Popov

Implement a cache for exif tag name lookups


# e5324a24 09-Oct-2019 Nikita Popov

Limit the amount of errors generated during exif parsing

Emitting errors is fairly expensive, to the point that parsing
a file with a huge number of invalid tags can take seconds.
Ge

Limit the amount of errors generated during exif parsing

Emitting errors is fairly expensive, to the point that parsing
a file with a huge number of invalid tags can take seconds.
Generating ten thousand errors is unlikely to help anybody, but
constitutes a potential DOS vector.

show more ...


# daf1fc6e 09-Oct-2019 Nikita Popov

Avoid float to int cast UB in exif


# d6ca174d 09-Oct-2019 Nikita Popov

Remove redundant components < 0 check

components is an unsigned number, it cannot be smaller than zero.


Revision tags: php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3, php-7.2.23, php-7.3.10
# f989a4cd 22-Sep-2019 Nikita Popov

Fix leak of temporary buffer during exif tag reading


# 0701835c 21-Sep-2019 Nikita Popov

Fix multiple leaks in exif_read_data()

This fixes two leaks related to duplicate tags, as well as a leak
of zero-length FMT_(S)BYTE with non-null value. This can show up
for MAKERNOT

Fix multiple leaks in exif_read_data()

This fixes two leaks related to duplicate tags, as well as a leak
of zero-length FMT_(S)BYTE with non-null value. This can show up
for MAKERNOTE values where the original length is non-zero, but
the first character is a null byte.

show more ...


# 0fa13028 19-Sep-2019 Nikita Popov

Fix out-of-bounds read in exif tag reading

This issue was recently introduced in c739023a50876e2a90588f915803b0140a95638e,
when the restriction that components>0 has been relaxed. We now

Fix out-of-bounds read in exif tag reading

This issue was recently introduced in c739023a50876e2a90588f915803b0140a95638e,
when the restriction that components>0 has been relaxed. We now need
to make sure that any tags that expect at least one component check
that this is the case.

show more ...


# 3e139a46 19-Sep-2019 Nikita Popov

Fix exif leak on duplicate copyright tags


Revision tags: php-7.4.0RC2
# 31f617d9 12-Sep-2019 Christoph M. Becker

Fix exif build

As of PHP 7.3.0 the `model` field is removed.


# 2823e938 12-Sep-2019 Kalle Sommer Nielsen

Fixed bug #78442 ('Illegal component' on exif_read_data since PHP7)


Revision tags: php-7.2.23RC1, php-7.3.10RC1, php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9, php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8
# 68fd435b 29-Jul-2019 Nikita Popov

Fixed bug #78333

Don't dereference float/double values at unknown address, instead
memcpy it into an aligned stack slot and dereference that.


# d142dfc9 29-Jul-2019 Nikita Popov

Fixed bug #78333

Don't dereference float/double values at unknown address, instead
memcpy it into an aligned stack slot and dereference that.


12345678910>>...17