diff --git a/src/PIL/GifImagePlugin.py b/src/PIL/GifImagePlugin.py index 645bb26bf..12754ed57 100644 --- a/src/PIL/GifImagePlugin.py +++ b/src/PIL/GifImagePlugin.py @@ -535,8 +535,9 @@ def _write_local_header(fp, im, offset, flags): o8(transparency) + # transparency index o8(0)) - if "comment" in im.encoderinfo and \ - 1 <= len(im.encoderinfo["comment"]) <= 255: + if "comment" in im.encoderinfo \ + and im.encoderinfo["comment"] is not None \ + and 1 <= len(im.encoderinfo["comment"]) <= 255: fp.write(b"!" + o8(254) + # extension intro o8(len(im.encoderinfo["comment"])) + @@ -702,7 +703,8 @@ def _get_global_header(im, info): for extensionKey in ["transparency", "duration", "loop", "comment"]: if info and extensionKey in info: if ((extensionKey == "duration" and info[extensionKey] == 0) or - (extensionKey == "comment" and + (extensionKey == "comment" + and info[extensionKey] is not None and not (1 <= len(info[extensionKey]) <= 255))): continue version = b"89a"