[Python-checkins] python/dist/src/Modules _csv.c,1.11,1.12
andrewmcnamara@users.sourceforge.net
andrewmcnamara@users.sourceforge.net
Sun, 08 Jun 2003 22:59:26 -0700
Update of /cvsroot/python/python/dist/src/Modules
In directory sc8-pr-cvs1:/tmp/cvs-serv29186/Modules
Modified Files:
_csv.c
Log Message:
Fix potential leaks identified by Neal Norwitz.
Index: _csv.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/_csv.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** _csv.c 14 Apr 2003 02:20:55 -0000 1.11
--- _csv.c 9 Jun 2003 05:59:23 -0000 1.12
***************
*** 466,469 ****
--- 466,471 ----
if (self->field_size == 0) {
self->field_size = 4096;
+ if (self->field != NULL)
+ PyMem_Free(self->field);
self->field = PyMem_Malloc(self->field_size);
}
***************
*** 740,743 ****
--- 742,747 ----
Py_XDECREF(self->input_iter);
Py_XDECREF(self->fields);
+ if (self->field != NULL)
+ PyMem_Free(self->field);
PyObject_GC_Del(self);
}
***************
*** 1003,1006 ****
--- 1007,1012 ----
if (self->rec_size == 0) {
self->rec_size = (rec_len / MEM_INCR + 1) * MEM_INCR;
+ if (self->rec != NULL)
+ PyMem_Free(self->rec);
self->rec = PyMem_Malloc(self->rec_size);
}
***************
*** 1192,1195 ****
--- 1198,1203 ----
Py_XDECREF(self->dialect);
Py_XDECREF(self->writeline);
+ if (self->rec != NULL)
+ PyMem_Free(self->rec);
PyObject_GC_Del(self);
}