classification
Title: Refcount error and file descriptor leaks in pwd, grp modules
Type: resource usage Stage:
Components: Extension Modules Versions:
process
Status: closed Resolution: accepted
Dependencies: Superseder:
Assigned To: Nosy List: baikie, loewis
Priority: normal Keywords: patch

Created on 2009-01-07 22:30 by baikie, last changed 2009-05-29 16:05 by loewis. This issue is now closed.

Files
File name Uploaded Description Edit
minor.diff baikie, 2009-01-07 22:30 Fix refcount error and fd leaks
Messages (2)
msg79378 - (view) Author: David Watson (baikie) Date: 2009-01-07 22:30
When investigating issue #4859 I found that when pwd.getpwall()
and grp.getgrall() fail due to decoding errors, they leave open
file descriptors referring to the passwd and group files, since
they don't call the end*ent() functions in this case.  Also, the
grp.* functions have a reference counting error when they fail in
this way - a debug build reports that an object's reference count
goes to -1.  What I think happens is that in mkgrent(),
PyStructSequence_SET_ITEM steals the reference to "w", meaning
that the "Py_DECREF(w)" call shouldn't be made afterwards.  The
attached diff fixes both of these problems, I think, and applies
to the 2.x and 3.x branches.
msg88513 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2009-05-29 16:05
Thanks for the patch. Committed as r73016, r73017, r73018, r73019.
History
Date User Action Args
2009-05-29 16:05:21loewissetstatus: open -> closed

nosy: + loewis
messages: + msg88513

resolution: accepted
2009-01-07 22:30:45baikiecreate