[issue26707] plistlib fails to parse bplist with 0x80 UID values

John Lehr report at bugs.python.org
Thu Apr 7 16:54:10 EDT 2016


John Lehr added the comment:

Based on the format specification pointed to by Serhiy, perhaps this a better patch, correcting size from previous patch submission and treating:

706,707c706,708
<         # tokenH == 0x80 is documented as 'UID' and appears to be used for
<         # keyed-archiving, not in plists.
---
>         elif tokenH == 0x80:  # UID
>             s = self._get_size(tokenL + 1)
>             return int.from_bytes(self._fp.read(s), 'big')

I have compared output with OS X plutil and plistlib.load() with this patch and the values are identical for UID fields.

----------
Added file: http://bugs.python.org/file42395/plistlib_uid.diff

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue26707>
_______________________________________


More information about the Python-bugs-list mailing list