Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | bpo-39681: Fix C pickle regression with minimal file-like objects (#18592) | Antoine Pitrou | 2020-02-23 | 1 | -4/+21 |
| | | | | Fix a regression where the C pickle module wouldn't allow unpickling from a file-like object that doesn't expose a readinto() method. | ||||
* | bpo-39492: Fix a reference cycle between reducer_override and a Pickler ↵ | Pierre Glaser | 2020-02-02 | 1 | -0/+24 |
| | | | | | | | | | | | | instance (GH-18266) This also needs a backport to 3.8 https://bugs.python.org/issue39492 Automerge-Triggered-By: @pitrou | ||||
* | bpo-38876: Raise pickle.UnpicklingError when loading an item from memo for ↵ | Claudiu Popa | 2019-11-24 | 1 | -1/+3 |
| | | | | | | | | | | | | | | | invalid input (GH-17335) The previous code was raising a `KeyError` for both the Python and C implementation. This was caused by the specified index of an invalid input which did not exist in the memo structure, where the pickle stores what objects it has seen. The malformed input would have caused either a `BINGET` or `LONG_BINGET` load from the memo, leading to a `KeyError` as the determined index was bogus. https://bugs.python.org/issue38876 https://bugs.python.org/issue38876 | ||||
* | Don't skip pickle check_frame_opcodes() (GH-15025) | Neil Schemenauer | 2019-07-30 | 1 | -1/+0 |
| | | | | This looks like the only place that proto 4 framing gets exercised so leave it as part of the PGO task. | ||||
* | bpo-37707: Exclude expensive unit tests from PGO task (GH-15009) | Neil Schemenauer | 2019-07-30 | 1 | -0/+3 |
| | | | | | Mark some individual tests to skip when --pgo is used. The tests marked increase the PGO task time significantly and likely don't help improve optimization of the final executable. | ||||
* | bpo-37502: handle default parameter for buffers argument of pickle.loads ↵ | Markus Mohrhard | 2019-07-25 | 1 | -0/+5 |
| | | | | correctly (GH-14593) | ||||
* | bpo-31829: Make protocol 0 pickles be loadable in text mode in Python 2. ↵ | Serhiy Storchaka | 2019-05-31 | 1 | -4/+15 |
| | | | | | | (GH-11859) Escape ``\r``, ``\0`` and ``\x1a`` (end-of-file on Windows) in Unicode strings. | ||||
* | bpo-36785: PEP 574 implementation (GH-7076) | Antoine Pitrou | 2019-05-26 | 1 | -12/+411 |
| | |||||
* | bpo-35900: Enable custom reduction callback registration in _pickle (GH-12499) | Pierre Glaser | 2019-05-08 | 1 | -0/+68 |
| | | | | Enable custom reduction callback registration for functions and classes in _pickle.c, using the new Pickler's attribute ``reducer_override``. | ||||
* | bpo-35900: Add a state_setter arg to save_reduce (GH-12588) | Pierre Glaser | 2019-05-08 | 1 | -1/+39 |
| | | | | | Allow reduction methods to return a 6-item tuple where the 6th item specifies a custom state-setting method that's called instead of the regular ``__setstate__`` method. | ||||
* | bpo-36766: Typos in docs and code comments (GH-13116) | penguindustin | 2019-05-06 | 1 | -1/+1 |
| | |||||
* | Clean up code which checked presence of os.{stat,lstat,chmod} (#11643) | Anthony Sottile | 2019-02-25 | 1 | -5/+4 |
| | |||||
* | bpo-34572: change _pickle unpickling to use import rather than retrieving ↵ | tjb900 | 2019-02-18 | 1 | -1/+66 |
| | | | | | from sys.modules (GH-9047) Fix C implementation of pickle.loads to use importlib's locking mechanisms, and thereby avoid using partially-loaded modules. | ||||
* | bpo-33209: End framing at the end of C implementation of ↵ | Serhiy Storchaka | 2018-04-03 | 1 | -17/+18 |
| | | | | pickle.Pickler.dump(). (GH-6363) | ||||
* | bpo-32503: Avoid creating too small frames in pickles. (#5127) | Serhiy Storchaka | 2018-01-20 | 1 | -37/+45 |
| | |||||
* | bpo-31993: Do not use memoryview when pickle large strings. (#5154) | Serhiy Storchaka | 2018-01-12 | 1 | -30/+30 |
| | | | | | | PyMemoryView_FromMemory() created a memoryview referring to the internal data of the string. When the string is destroyed the memoryview become referring to a freed memory. | ||||
* | bpo-31993: Do not create frames for large bytes and str objects (#5114) | Serhiy Storchaka | 2018-01-11 | 1 | -8/+9 |
| | | | | | | | when serialize into memory buffer with C pickle implementations. This optimization already is performed when serialize into memory with Python pickle implementations or into a file with both implementations. | ||||
* | bpo-31993: Do not allocate large temporary buffers in pickle dump. (#4353) | Olivier Grisel | 2018-01-06 | 1 | -13/+118 |
| | | | | | | | | | | | | | | | | | The picklers do no longer allocate temporary memory when dumping large bytes and str objects into a file object. Instead the data is directly streamed into the underlying file object. Previously the C implementation would buffer all content and issue a single call to file.write() at the end of the dump. With protocol 4 this behavior has changed to issue one call to file.write() per frame. The Python pickler with protocol 4 now dumps each frame content as a memoryview to an IOBytes instance that is never reused and the memoryview is no longer released after the call to write. This makes it possible for the file object to delay access to the memoryview of previous frames without forcing any additional memory copy as was already possible with the C pickler. | ||||
* | bpo-32037: Use the INT opcode for 32-bit integers in protocol 0 pickles. (#4407) | Serhiy Storchaka | 2017-11-16 | 1 | -3/+3 |
| | |||||
* | bpo-32032: Test both implementations of module-level pickle API. (#4401) | Serhiy Storchaka | 2017-11-15 | 1 | -12/+12 |
| | |||||
* | Replace KB unit with KiB (#4293) | Victor Stinner | 2017-11-08 | 1 | -2/+2 |
| | | | | | | | | | | | kB (*kilo* byte) unit means 1000 bytes, whereas KiB ("kibibyte") means 1024 bytes. KB was misused: replace kB or KB with KiB when appropriate. Same change for MB and GB which become MiB and GiB. Change the output of Tools/iobench/iobench.py. Round also the size of the documentation from 5.5 MB to 5 MiB. | ||||
* | Issue #17711: Fixed unpickling by the persistent ID with protocol 0. | Serhiy Storchaka | 2016-07-17 | 1 | -0/+29 |
|\ | | | | | | | Original patch by Alexandre Vassalotti. | ||||
| * | Issue #17711: Fixed unpickling by the persistent ID with protocol 0. | Serhiy Storchaka | 2016-07-17 | 1 | -0/+29 |
| | | | | | | | | Original patch by Alexandre Vassalotti. | ||||
* | | Fixed typo in pickle tests. | Serhiy Storchaka | 2016-03-04 | 1 | -2/+2 |
|\ \ | |/ | |||||
| * | Fixed typo in pickle tests. | Serhiy Storchaka | 2016-03-04 | 1 | -2/+2 |
| | | |||||
* | | Make catched exception more specific and correct a comment. | Serhiy Storchaka | 2015-12-30 | 1 | -3/+3 |
|\ \ | |/ | |||||
| * | Make catched exception more specific and correct a comment. | Serhiy Storchaka | 2015-12-30 | 1 | -3/+3 |
| | | |||||
* | | Issue #25761: Improved detecting errors in broken pickle data. | Serhiy Storchaka | 2015-12-06 | 1 | -11/+6 |
| | | |||||
* | | Issue #25761: Added more test cases for testing unpickling broken data. | Serhiy Storchaka | 2015-11-29 | 1 | -93/+197 |
|\ \ | |/ | | | | | Output raised exception at verbose level 2 (-vv). | ||||
| * | Issue #25761: Added more test cases for testing unpickling broken data. | Serhiy Storchaka | 2015-11-29 | 1 | -93/+197 |
| |\ | | | | | | | | | | Output raised exception at verbose level 2 (-vv). | ||||
| | * | Issue #25761: Added more test cases for testing unpickling broken data. | Serhiy Storchaka | 2015-11-29 | 1 | -93/+197 |
| | | | | | | | | | | | | Output raised exception at verbose level 2 (-vv). | ||||
* | | | Issue #23914: Fixed SystemError raised by unpickler on broken pickle data. | Serhiy Storchaka | 2015-11-23 | 1 | -1/+84 |
|\ \ \ | |/ / | |||||
| * | | Issue #23914: Fixed SystemError raised by unpickler on broken pickle data. | Serhiy Storchaka | 2015-11-23 | 1 | -1/+84 |
| |\ \ | | |/ | |||||
| | * | Issue #23914: Fixed SystemError raised by unpickler on broken pickle data. | Serhiy Storchaka | 2015-11-23 | 1 | -1/+84 |
| | | | |||||
* | | | Issue #892902: Added new tests for pickling recursive collections. | Serhiy Storchaka | 2015-11-07 | 1 | -16/+104 |
|\ \ \ | |/ / | |||||
| * | | Issue #892902: Added new tests for pickling recursive collections. | Serhiy Storchaka | 2015-11-07 | 1 | -16/+104 |
| |\ \ | | |/ | |||||
| | * | Issue #892902: Added new tests for pickling recursive collections. | Serhiy Storchaka | 2015-11-07 | 1 | -16/+104 |
| | | | |||||
* | | | Issue #24164: Objects that need calling ``__new__`` with keyword arguments, | Serhiy Storchaka | 2015-10-10 | 1 | -4/+2 |
|/ / | | | | | | | can now be pickled using pickle protocols older than protocol version 4. | ||||
* | | Issue #25262. Added support for BINBYTES8 opcode in Python implementation of | Serhiy Storchaka | 2015-09-29 | 1 | -0/+20 |
|\ \ | |/ | | | | | | | unpickler. Highest 32 bits of 64-bit size for BINUNICODE8 and BINBYTES8 opcodes no longer silently ignored on 32-bit platforms in C implementation. | ||||
| * | Issue #25262. Added support for BINBYTES8 opcode in Python implementation of | Serhiy Storchaka | 2015-09-29 | 1 | -0/+20 |
| | | | | | | | | | | unpickler. Highest 32 bits of 64-bit size for BINUNICODE8 and BINBYTES8 opcodes no longer silently ignored on 32-bit platforms in C implementation. | ||||
* | | Added additional unpickling tests. | Serhiy Storchaka | 2015-09-29 | 1 | -37/+229 |
|\ \ | |/ | |||||
| * | Added additional unpickling tests. | Serhiy Storchaka | 2015-09-29 | 1 | -37/+229 |
| | | |||||
* | | Moved unpickling tests with prepickled data to separate class. | Serhiy Storchaka | 2015-09-29 | 1 | -209/+215 |
|\ \ | |/ | |||||
| * | Moved unpickling tests with prepickled data to separate class. | Serhiy Storchaka | 2015-09-29 | 1 | -209/+215 |
| | | |||||
* | | merge 3.4 | Benjamin Peterson | 2015-07-02 | 1 | -1/+1 |
|\ \ | |/ | |||||
| * | use correct __new__ method (closes #24552) | Benjamin Peterson | 2015-07-02 | 1 | -1/+1 |
| | | |||||
* | | merge 3.4 (#24552) | Benjamin Peterson | 2015-07-02 | 1 | -0/+12 |
|\ \ | |/ | |||||
| * | fix use after free (closes #24552) | Benjamin Peterson | 2015-07-02 | 1 | -0/+12 |
| | | |||||
* | | Issue #23611: Serializing more "lookupable" objects (such as unbound methods | Serhiy Storchaka | 2015-03-31 | 1 | -4/+15 |
| | | | | | | | | or nested classes) now are supported with pickle protocols < 4. | ||||
* | | Issue #18473: Fixed 2to3 and 3to2 compatible pickle mappings. | Serhiy Storchaka | 2015-03-31 | 1 | -1/+48 |
|\ \ | |/ | | | | | | | | | | | | | Fixed ambigious reverse mappings. Added many new mappings. Import mapping is no longer applied to modules already mapped with full name mapping. Added tests for compatible pickling and unpickling and for consistency of _compat_pickle mappings. |