Add belt and braces check of PyString_AsString return.
diff --git a/Modules/_csv.c b/Modules/_csv.c
index 03e715a..a433960 100644
--- a/Modules/_csv.c
+++ b/Modules/_csv.c
@@ -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;