On Fri, 25 Feb 2022, László Böszörményi wrote:
This should be it. Is your GM the latest version from Mercurial?

Image: /home/bfriesen/src/minimagick.git/spec/fixtures/exif.jpg
     Exif Version: 0220
     Date Time Original: 2016:11:12 09:17:56
     Flash: 0
Package ruby-mini-magick check tree values: EXIF:Flash,
DateTimeOriginal and ExifVersion. With GM 1.3.37 it succeeds and gets
real values in order 0, a string and 0220 just like in your dump. But
with the mentioned GM commit the results are in order "", nil and nil.
Maybe the GM output or its variable types changed somehow and now
ruby-mini-magick can't parse that? Needs more investigation. I think
tomorrow in the evening (CET) I will arrive back home and will try to
support you with more details.

I believe that the problem is that mini-magick is retrieving EXIF attributes in 'ping' mode but the changeset which caused the problem only returns the attributes if the image data was read. The solution was just to move some code.

GraphicsMagick changset 16670:90e1c92a709c addresses this issue, and the fixes are in the 1.4.020220226 signed snapshot.

That same snapshot also addresses build problems with development libxml2 which seems to have removed FTP protocol support.

FYI, the change to the way JPEG embedded profiles are read is due to a denial of service concern. JPEG stores embedded profiles in several/many chunks. The denial of service concern is that a reasonably sized JPEG file can be constituted mostly of embedded profile chunks with very little compressed image data in each chunk. In this case the reader can take a very long time to "read" image image due to handling embedded profile chunks as the JPEG file is parsed. The new approach improves the efficiency if there are many tiny chunks.

The purpose of 'ping' mode is to avoid expensive operations while retrieving basic properties. In this particular case, the harm would already have been done even in 'ping' mode so returning the profiles does not incur any additional cost.

Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
Public Key,     http://www.simplesystems.org/users/bfriesen/public-key.txt

Reply via email to