diff options
author | Neal Norwitz <nnorwitz@gmail.com> | 2006-07-17 00:55:45 (GMT) |
---|---|---|
committer | Neal Norwitz <nnorwitz@gmail.com> | 2006-07-17 00:55:45 (GMT) |
commit | b337bb541bc3986f50d352fe13508ac8f0667bb0 (patch) | |
tree | af506d4609f06efcf2089f7046f23aa4a84c018b /Objects | |
parent | ee4cc698ca906c519054a85d119c76e757227e82 (diff) | |
download | cpython-b337bb541bc3986f50d352fe13508ac8f0667bb0.zip cpython-b337bb541bc3986f50d352fe13508ac8f0667bb0.tar.gz cpython-b337bb541bc3986f50d352fe13508ac8f0667bb0.tar.bz2 |
Stop INCREFing name, then checking if it's NULL. name (f_name) should never
be NULL so assert it. Fix one place where we could have passed NULL.
Reported by Klocwork #66.
Diffstat (limited to 'Objects')
-rw-r--r-- | Objects/fileobject.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Objects/fileobject.c b/Objects/fileobject.c index 5297538..71ba01b 100644 --- a/Objects/fileobject.c +++ b/Objects/fileobject.c @@ -103,6 +103,7 @@ static PyObject * fill_file_fields(PyFileObject *f, FILE *fp, PyObject *name, char *mode, int (*close)(FILE *)) { + assert(name != NULL); assert(f != NULL); assert(PyFile_Check(f)); assert(f->f_fp == NULL); @@ -111,7 +112,7 @@ fill_file_fields(PyFileObject *f, FILE *fp, PyObject *name, char *mode, Py_DECREF(f->f_mode); Py_DECREF(f->f_encoding); - Py_INCREF (name); + Py_INCREF(name); f->f_name = name; f->f_mode = PyString_FromString(mode); @@ -126,7 +127,7 @@ fill_file_fields(PyFileObject *f, FILE *fp, PyObject *name, char *mode, Py_INCREF(Py_None); f->f_encoding = Py_None; - if (f->f_name == NULL || f->f_mode == NULL) + if (f->f_mode == NULL) return NULL; f->f_fp = fp; f = dircheck(f); @@ -278,7 +279,9 @@ PyFile_FromFile(FILE *fp, char *name, char *mode, int (*close)(FILE *)) PyFileObject *f = (PyFileObject *)PyFile_Type.tp_new(&PyFile_Type, NULL, NULL); if (f != NULL) { - PyObject *o_name = PyString_FromString(name); + PyObject *o_name = PyString_FromString(name); + if (o_name == NULL) + return NULL; if (fill_file_fields(f, fp, o_name, mode, close) == NULL) { Py_DECREF(f); f = NULL; |