This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author serhiy.storchaka
Recipients CensoredUsername, pitrou, serhiy.storchaka
Date 2014-12-21.07:57:25
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
readline() is used only when unpickle opcodes PERSID, INT, LONG, FLOAT, STRING, UNICODE, INST, GLOBAL, GET, PUT. These opcodes are not used with protocol 4 (all opcodes except GLOBAL is used only with protocol 0, and GLOBAL is used with protocol <= 3). Frames are used only with protocol 4. So there is very small chance to meet this bug in real data. But it is not zero, artificial pickled data which mixes FRAME with protocol 0 opcodes can be constructed by third-party software for some reasons.

Artificial example:

>>> pickletools.dis(b"\x80\x04\x95\x05\x00\x00\x00\x00\x00\x00\x00I42\n.")
    0: \x80 PROTO      4
    2: \x95 FRAME      5
   11: I    INT        42
   15: .    STOP
highest protocol among opcodes = 4
Date User Action Args
2014-12-21 07:57:26serhiy.storchakasetrecipients: + serhiy.storchaka, pitrou, CensoredUsername
2014-12-21 07:57:26serhiy.storchakasetmessageid: <>
2014-12-21 07:57:26serhiy.storchakalinkissue23094 messages
2014-12-21 07:57:25serhiy.storchakacreate