[Patches] [Patch #103753] zlib decompress; uncontrollable memory usage
noreply@sourceforge.net
noreply@sourceforge.net
Wed, 21 Feb 2001 06:00:30 -0800
Patch #103753 has been updated.
Project: python
Category: Modules
Status: Open
Submitted by: htrd
Assigned to : akuchling
Summary: zlib decompress; uncontrollable memory usage
Follow-Ups:
Date: 2001-Feb-21 06:00
By: htrd
Comment:
I did consider that....
An extra change that you didnt mention is the need for a different return
value. Currently .decompress() always returns a string. The new method in
my patch returns a tuple containing the same string, and an integer
specifying how many bytes were consumed from the input.
Overloading return values based on an optional parameter seems a little
hairy to me, but I would be happy to change the patch if that is your
preferred option.
I also considered (and rejected) the possibility of adding an optional
max-size argument to .decompress() as you suggest, but raising an exception
if this limit is exceeded. This avoids the need for an extra return value,
but looses out on flexibility.
-------------------------------------------------------
Date: 2001-Feb-20 18:48
By: akuchling
Comment:
Rather than introducing a new method, why not just add an optional maxlen
argument to .decompress(). I think the changes would be:
* add 'int maxlen=-1;'
* add "...|i" ... ,&maxlen to the argument parsing
* if maxlen != -1, length = maxlen else length = DEFAULTALLOC;
* Add '&& maxlen==-1' to the while loop. (Use the current CVS; I just
checked in a patch rearranging the zlib module a bit.)
Do you want to make those changes and resubmit the patch?
-------------------------------------------------------
-------------------------------------------------------
For more info, visit:
http://sourceforge.net/patch/?func=detailpatch&patch_id=103753&group_id=5470