This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author serhiy.storchaka
Recipients larry, ned.deily, ronaldoussoren, serhiy.storchaka
Date 2017-12-26.11:03:37
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1514286218.06.0.213398074469.issue32072@psf.upfronthosting.co.za>
In-reply-to
Content
For example:

a = []
for i in range(22):
    a = [a, a]

b = plistlib.dumps(a, fmt=plistlib.FMT_BINARY)

The result is 130 bytes long on patched plistlib. But plistlib.dumps(b) will expand to a structure consuming almost a gigabyte of memory on unpatched plistlib. Increasing the level of nesting by one will duplicate memory consumption, so it is easy to consume all available memory on any computer.
History
Date User Action Args
2017-12-26 11:03:38serhiy.storchakasetrecipients: + serhiy.storchaka, ronaldoussoren, larry, ned.deily
2017-12-26 11:03:38serhiy.storchakasetmessageid: <1514286218.06.0.213398074469.issue32072@psf.upfronthosting.co.za>
2017-12-26 11:03:38serhiy.storchakalinkissue32072 messages
2017-12-26 11:03:37serhiy.storchakacreate