diff options
author | Georg Brandl <georg@python.org> | 2008-07-23 16:13:07 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2008-07-23 16:13:07 (GMT) |
commit | d492ad80c872d264ed46bec71e31a00f174ac819 (patch) | |
tree | dae53e48f72c579307f3d4cae26244143c2f9138 /Modules/selectmodule.c | |
parent | c1c54c1b04f469bedf820ff14e083da63b77aaaa (diff) | |
download | cpython-d492ad80c872d264ed46bec71e31a00f174ac819.zip cpython-d492ad80c872d264ed46bec71e31a00f174ac819.tar.gz cpython-d492ad80c872d264ed46bec71e31a00f174ac819.tar.bz2 |
Merged revisions 65182 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r65182 | gregory.p.smith | 2008-07-22 06:46:32 +0200 (Tue, 22 Jul 2008) | 7 lines
Issue #2620: Overflow checking when allocating or reallocating memory
was not always being done properly in some python types and extension
modules. PyMem_MALLOC, PyMem_REALLOC, PyMem_NEW and PyMem_RESIZE have
all been updated to perform better checks and places in the code that
would previously leak memory on the error path when such an allocation
failed have been fixed.
........
Diffstat (limited to 'Modules/selectmodule.c')
-rw-r--r-- | Modules/selectmodule.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c index daabf03..8e26050 100644 --- a/Modules/selectmodule.c +++ b/Modules/selectmodule.c @@ -346,10 +346,12 @@ update_ufd_array(pollObject *self) { Py_ssize_t i, pos; PyObject *key, *value; + struct pollfd *old_ufds = self->ufds; self->ufd_len = PyDict_Size(self->dict); - PyMem_Resize(self->ufds, struct pollfd, self->ufd_len); + PyMem_RESIZE(self->ufds, struct pollfd, self->ufd_len); if (self->ufds == NULL) { + self->ufds = old_ufds; PyErr_NoMemory(); return 0; } |