diff options
author | Simon McVittie <smcv@collabora.com> | 2021-07-19 15:14:17 +0100 |
---|---|---|
committer | Simon McVittie <smcv@collabora.com> | 2021-07-19 15:14:17 +0100 |
commit | 4412ceb80d58ca200c32af282f3eadca6f29f9bb (patch) | |
tree | 43ddfead76bd0e4aca221007e16269f351fe09e7 | |
parent | e4e401127bbd323b220ca07aa08eafd0fb4c0270 (diff) | |
download | dbus-python-4412ceb80d58ca200c32af282f3eadca6f29f9bb.tar.gz |
unixfd: Don't leak self if variant_level < 0
Signed-off-by: Simon McVittie <smcv@collabora.com>
-rw-r--r-- | dbus_bindings/unixfd.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/dbus_bindings/unixfd.c b/dbus_bindings/unixfd.c index 3da9323..ed99386 100644 --- a/dbus_bindings/unixfd.c +++ b/dbus_bindings/unixfd.c @@ -111,6 +111,11 @@ UnixFd_tp_new(PyTypeObject *cls, PyObject *args, PyObject *kwargs) return NULL; } + if (variant_level < 0) { + PyErr_Format(PyExc_ValueError, "variant_level cannot be less than 0"); + return NULL; + } + status = make_fd(arg, &fd_original); if (status < 0) return NULL; @@ -151,10 +156,6 @@ UnixFd_tp_new(PyTypeObject *cls, PyObject *args, PyObject *kwargs) } self->fd = fd; - if (variant_level < 0) { - PyErr_Format(PyExc_ValueError, "variant_level cannot be less than 0"); - return NULL; - } self->variant_level = variant_level; return (PyObject *)self; |