Skip to content

Commit 52856bc

Browse files
authored
Merge pull request #5556 from radarhere/empty_subifd
Fixed undefined variable in logging
2 parents 70ef50c + 61c3907 commit 52856bc

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

Tests/test_file_tiff_metadata.py

+13
Original file line numberDiff line numberDiff line change
@@ -376,3 +376,16 @@ def test_too_many_entries():
376376

377377
# Should not raise ValueError.
378378
pytest.warns(UserWarning, lambda: ifd[277])
379+
380+
381+
def test_empty_subifd(tmp_path):
382+
out = str(tmp_path / "temp.jpg")
383+
384+
im = hopper()
385+
exif = im.getexif()
386+
exif[TiffImagePlugin.EXIFIFD] = {}
387+
im.save(out, exif=exif)
388+
389+
with Image.open(out) as reloaded:
390+
exif = reloaded.getexif()
391+
assert exif.get_ifd(TiffImagePlugin.EXIFIFD) == {}

src/PIL/TiffImagePlugin.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -826,7 +826,8 @@ def tobytes(self, offset=0):
826826
else:
827827
ifh = b"MM\x00\x2A\x00\x00\x00\x08"
828828
ifd = ImageFileDirectory_v2(ifh)
829-
for ifd_tag, ifd_value in self._tags_v2[tag].items():
829+
values = self._tags_v2[tag]
830+
for ifd_tag, ifd_value in values.items():
830831
ifd[ifd_tag] = ifd_value
831832
data = ifd.tobytes(offset)
832833
else:

0 commit comments

Comments
 (0)