[Python-checkins] python/dist/src/Modules _csv.c,1.28,1.29

andrewmcnamara at users.sourceforge.net andrewmcnamara at users.sourceforge.net
Wed Jan 12 02:16:38 CET 2005


Update of /cvsroot/python/python/dist/src/Modules
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22437/Modules

Modified Files:
	_csv.c 
Log Message:
Add belt and braces check of PyString_AsString return.


Index: _csv.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/_csv.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- _csv.c	11 Jan 2005 07:32:02 -0000	1.28
+++ _csv.c	12 Jan 2005 01:16:35 -0000	1.29
@@ -1098,6 +1098,7 @@
 join_append_lineterminator(WriterObj *self)
 {
 	int terminator_len;
+	char *terminator;
 
 	terminator_len = PyString_Size(self->dialect->lineterminator);
 
@@ -1105,10 +1106,10 @@
 	if (!join_check_rec_size(self, self->rec_len + terminator_len))
 		return 0;
 
-	memmove(self->rec + self->rec_len,
-		/* should not be NULL */
-		PyString_AsString(self->dialect->lineterminator), 
-                terminator_len);
+	terminator = PyString_AsString(self->dialect->lineterminator); 
+	if (terminator == NULL)
+		return 0;
+	memmove(self->rec + self->rec_len, terminator, terminator_len);
 	self->rec_len += terminator_len;
 
 	return 1;



More information about the Python-checkins mailing list