Skip to content

Commit 6c4b47d

Browse files
authored
Merge pull request #7496 from radarhere/exif
2 parents da61ed1 + e10a58c commit 6c4b47d

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

Tests/images/multiple_exif.jpg

364 Bytes
Loading

Tests/test_file_jpeg.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -840,6 +840,10 @@ def test_ifd_offset_exif(self):
840840
# Act / Assert
841841
assert im._getexif()[306] == "2017:03:13 23:03:09"
842842

843+
def test_multiple_exif(self):
844+
with Image.open("Tests/images/multiple_exif.jpg") as im:
845+
assert im.info["exif"] == b"Exif\x00\x00firstsecond"
846+
843847
@mark_if_feature_version(
844848
pytest.mark.valgrind_known_error, "libjpeg_turbo", "2.0", reason="Known Failing"
845849
)

src/PIL/JpegImagePlugin.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,12 @@ def APP(self, marker):
8787
self.info["dpi"] = jfif_density
8888
self.info["jfif_unit"] = jfif_unit
8989
self.info["jfif_density"] = jfif_density
90-
elif marker == 0xFFE1 and s[:5] == b"Exif\0":
91-
if "exif" not in self.info:
92-
# extract EXIF information (incomplete)
93-
self.info["exif"] = s # FIXME: value will change
90+
elif marker == 0xFFE1 and s[:6] == b"Exif\0\0":
91+
# extract EXIF information
92+
if "exif" in self.info:
93+
self.info["exif"] += s[6:]
94+
else:
95+
self.info["exif"] = s
9496
self._exif_offset = self.fp.tell() - n + 6
9597
elif marker == 0xFFE2 and s[:5] == b"FPXR\0":
9698
# extract FlashPix information (incomplete)

0 commit comments

Comments
 (0)