Message262974
libplist raises an invalid file exception on loading properly formed binary plists containing UID (0x80) values. The binary files were tested for form with plutil.
Comments at line 706 state the value is defined but not in use in plists, and the object is not handled. However, I find them frequently in bplists, e.g., iOS Snapchat application files. I have attached a proposed patch that I have tested on these files and can now successfully parse them with the _read_object method in the _BinaryPlistParser class.
My proposed patch is pasted below for others consideration while waiting for the issue to be resolved.
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)
> return self._fp.read(s).decode('ascii')
Thanks for your consideration. |
|
Date |
User |
Action |
Args |
2016-04-07 01:34:01 | slo.sleuth | set | recipients:
+ slo.sleuth |
2016-04-07 01:34:01 | slo.sleuth | set | messageid: <1459992841.57.0.391610307965.issue26707@psf.upfronthosting.co.za> |
2016-04-07 01:34:01 | slo.sleuth | link | issue26707 messages |
2016-04-07 01:34:00 | slo.sleuth | create | |
|