diff options
| author | Serhiy Storchaka <storchaka@gmail.com> | 2015-09-29 19:13:01 (GMT) |
|---|---|---|
| committer | Serhiy Storchaka <storchaka@gmail.com> | 2015-09-29 19:13:01 (GMT) |
| commit | 11c715f12e9c089f79224d78db59b4907c7d7236 (patch) | |
| tree | 8d6a11db7d8f221c43157517f80b421a64cb3304 /Lib/pickle.py | |
| parent | a6b1031b76e9344665db951cdef39aa8f2e186a2 (diff) | |
| parent | 525faaeffc557899b83463f3b1b74d2f39cc7e13 (diff) | |
| download | cpython-11c715f12e9c089f79224d78db59b4907c7d7236.zip cpython-11c715f12e9c089f79224d78db59b4907c7d7236.tar.gz cpython-11c715f12e9c089f79224d78db59b4907c7d7236.tar.bz2 | |
Issue #25262. Added support for BINBYTES8 opcode in Python implementation of
unpickler. Highest 32 bits of 64-bit size for BINUNICODE8 and BINBYTES8
opcodes no longer silently ignored on 32-bit platforms in C implementation.
Diffstat (limited to 'Lib/pickle.py')
| -rw-r--r-- | Lib/pickle.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Lib/pickle.py b/Lib/pickle.py index 6c26c5e..e93057a 100644 --- a/Lib/pickle.py +++ b/Lib/pickle.py @@ -1205,6 +1205,14 @@ class _Unpickler: self.append(str(self.read(len), 'utf-8', 'surrogatepass')) dispatch[BINUNICODE8[0]] = load_binunicode8 + def load_binbytes8(self): + len, = unpack('<Q', self.read(8)) + if len > maxsize: + raise UnpicklingError("BINBYTES8 exceeds system's maximum size " + "of %d bytes" % maxsize) + self.append(self.read(len)) + dispatch[BINBYTES8[0]] = load_binbytes8 + def load_short_binstring(self): len = self.read(1)[0] data = self.read(len) |
