summaryrefslogtreecommitdiffstats
path: root/Objects/exceptions.c
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2016-09-28 04:53:32 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2016-09-28 04:53:32 (GMT)
commite9e44484a51d4caab2a28c883dccb7321828abde (patch)
treea038f8ab6be7663a89cd09839fbb75593bffe7d1 /Objects/exceptions.c
parent2e8c939e3d8103cd4f236754764858cb23342ab3 (diff)
downloadcpython-e9e44484a51d4caab2a28c883dccb7321828abde.zip
cpython-e9e44484a51d4caab2a28c883dccb7321828abde.tar.gz
cpython-e9e44484a51d4caab2a28c883dccb7321828abde.tar.bz2
Issue #28289: ImportError.__init__ now resets not specified attributes.
Diffstat (limited to 'Objects/exceptions.c')
-rw-r--r--Objects/exceptions.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/Objects/exceptions.c b/Objects/exceptions.c
index f63f06a..bc0264a 100644
--- a/Objects/exceptions.c
+++ b/Objects/exceptions.c
@@ -631,19 +631,17 @@ ImportError_init(PyImportErrorObject *self, PyObject *args, PyObject *kwds)
}
Py_DECREF(empty_tuple);
- if (name) {
- Py_INCREF(name);
- Py_XSETREF(self->name, name);
- }
- if (path) {
- Py_INCREF(path);
- Py_XSETREF(self->path, path);
- }
+ Py_XINCREF(name);
+ Py_XSETREF(self->name, name);
+
+ Py_XINCREF(path);
+ Py_XSETREF(self->path, path);
+
if (PyTuple_GET_SIZE(args) == 1) {
msg = PyTuple_GET_ITEM(args, 0);
Py_INCREF(msg);
- Py_XSETREF(self->msg, msg);
}
+ Py_XSETREF(self->msg, msg);
return 0;
}