summaryrefslogtreecommitdiffstats
path: root/Modules/_csv.c
diff options
context:
space:
mode:
authorNeal Norwitz <nnorwitz@gmail.com>2006-05-10 06:57:58 (GMT)
committerNeal Norwitz <nnorwitz@gmail.com>2006-05-10 06:57:58 (GMT)
commitc6a989ac3a2ce1f52f48acfb73d04b604ba173b1 (patch)
treebce50037904969634cf2ed60d969829dd0283f95 /Modules/_csv.c
parentad2ef33245bdd90bf0e80824dbba732b17fdf6b6 (diff)
downloadcpython-c6a989ac3a2ce1f52f48acfb73d04b604ba173b1.zip
cpython-c6a989ac3a2ce1f52f48acfb73d04b604ba173b1.tar.gz
cpython-c6a989ac3a2ce1f52f48acfb73d04b604ba173b1.tar.bz2
Fix problems found by Coverity.
longobject.c: also fix an ssize_t problem <a> could have been NULL, so hoist the size calc to not use <a>. _ssl.c: under fail: self is DECREF'd, but it would have been NULL. _elementtree.c: delete self if there was an error. _csv.c: I'm not sure if lineterminator could have been anything other than a string. However, other string method calls are checked, so check this one too.
Diffstat (limited to 'Modules/_csv.c')
-rw-r--r--Modules/_csv.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/Modules/_csv.c b/Modules/_csv.c
index 67d5d9f..5e03635 100644
--- a/Modules/_csv.c
+++ b/Modules/_csv.c
@@ -1104,6 +1104,8 @@ join_append_lineterminator(WriterObj *self)
char *terminator;
terminator_len = PyString_Size(self->dialect->lineterminator);
+ if (terminator_len == -1)
+ return 0;
/* grow record buffer if necessary */
if (!join_check_rec_size(self, self->rec_len + terminator_len))