From: Christian Seiler Date: Sun, 18 Aug 2013 22:52:42 +0000 (+0200) Subject: python/attach: Fix minor memory leaks X-Git-Tag: lxc-1.0.0.alpha1~1^2~52 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9c6694b7073a6ebfd1da4950e0c8db4b91530202;p=thirdparty%2Flxc.git python/attach: Fix minor memory leaks Signed-off-by: Christian Seiler Signed-off-by: Serge Hallyn --- diff --git a/src/python-lxc/lxc.c b/src/python-lxc/lxc.c index 7b103ffe3..4899339c6 100644 --- a/src/python-lxc/lxc.c +++ b/src/python-lxc/lxc.c @@ -759,8 +759,10 @@ static lxc_attach_options_t *lxc_attach_parse_options(PyObject *kwds) /* immediately get rid of the dummy tuple */ Py_DECREF(dummy); - if (!parse_result) + if (!parse_result) { + lxc_attach_free_options(options); return NULL; + } /* duplicate the string, so we don't depend on some random Python object */ if (initial_cwd_obj != NULL) { @@ -779,18 +781,24 @@ static lxc_attach_options_t *lxc_attach_parse_options(PyObject *kwds) options->extra_keep_env = convert_tuple_to_char_pointer_array(extra_keep_env_obj); if (stdin_obj) { options->stdin_fd = PyObject_AsFileDescriptor(stdin_obj); - if (options->stdin_fd < 0) + if (options->stdin_fd < 0) { + lxc_attach_free_options(options); return NULL; + } } if (stdout_obj) { options->stdout_fd = PyObject_AsFileDescriptor(stdout_obj); - if (options->stdout_fd < 0) + if (options->stdout_fd < 0) { + lxc_attach_free_options(options); return NULL; + } } if (stderr_obj) { options->stderr_fd = PyObject_AsFileDescriptor(stderr_obj); - if (options->stderr_fd < 0) + if (options->stderr_fd < 0) { + lxc_attach_free_options(options); return NULL; + } } return options;