[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);
  }