Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.3k
Closed
Description
Bug report
Bug description:
When unpickling using_pickle.c orpickle.py throughload/loads, an encoding can be specified using theencoding argument, with the default being ASCII. However, pickletools does not support custom encodings and instead makes assumptions about what encoding it uses, which can lead to either incorrect data being displayed or erroring/not erroring when the normal unpickling process would error.
The three opcodes that I have found this in areSTRING,BINSTRING, andSHORT_BINSTRING:
- Online 359, it assumes ASCII for
STRING - Online 456, it assumes
latin-1forBINSTRING - Online 422, it assumes
latin-1forSHORT_BINSTRING
I think the best solution would be to support encodings as an optional argument inpickletools.py, with the default being set to ASCII (since that's the default encoding forpickle.py and_pickle.c).
CPython versions tested on:
3.11
Operating systems tested on:
Linux
Linked PRs
Metadata
Metadata
Assignees
Labels
Projects
Status
Done