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.

classification
Title: infrequent memory leak in pyexpat
Type: Stage:
Components: XML Versions:
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: dougbo, georg.brandl, gvanrossum, loewis
Priority: low Keywords:

Created on 2001-04-15 17:35 by dougbo, last changed 2022-04-10 16:03 by admin. This issue is now closed.

Messages (6)
msg4271 - (view) Author: douglas orr (dougbo) Date: 2001-04-15 17:35
In pyexpat.c, the macro call for the handler dispatch 
(my##NAME##Handler) for CharacterHandler allocates an 
object implicitly by calling one of the conversion-to-
unicode routines.  

If there is a problem in the PyBuildValue, resulting 
in args == NULL, that object will be leaked.

Low priority, but the macros probably need some 
reworking to handle this.
msg4272 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2001-06-09 11:48
Logged In: YES 
user_id=21627

That seems to be a bug in Py_BuildValue: It should decref 
its N arguments if it can't create a tuple.

msg4273 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2002-03-28 22:34
Logged In: YES 
user_id=6380

Hm, the 'N' format code looks really scary. Can't it end up
DECREF'ing an object too many times if something fails?
msg4274 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2002-03-28 23:20
Logged In: YES 
user_id=21627

No, currently, it can only leak: the argument being passed
will have an extra ref count, which supposedly will be
consumed by the tuple. If something fails, some of the N
arguments will have been stored in the
tuple-under-construction, and will be released when the
tuple is released. 'N' arguments not yet consumed will leak.

Processing should continue in case of an error, and DECREF
all N arguments.
msg4275 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2006-04-12 08:01
Logged In: YES 
user_id=21627

I don't think I will do anything about this anytime soon, so
unassigning myself.
msg4276 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2006-04-12 15:00
Logged In: YES 
user_id=849994

This was fixed in response to bug [ 984722 ] Py_BuildValue
loses reference counts on error, in rev. 36480.
History
Date User Action Args
2022-04-10 16:03:58adminsetgithub: 34342
2001-04-15 17:35:59dougbocreate