]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4:pyparam: Fix resource leaks on error
authorAndreas Schneider <asn@samba.org>
Wed, 25 Oct 2017 17:25:20 +0000 (19:25 +0200)
committerKarolin Seeger <kseeger@samba.org>
Thu, 2 Nov 2017 12:01:22 +0000 (13:01 +0100)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13101

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
(cherry picked from commit e56626e864492831a3dbbca2d4fb8f3281547a90)

source4/param/pyparam.c

index 60c464524479c7d4b83500cab7196bef6033c97f..8395a913e471610df96672644caa37fe20650451 100644 (file)
@@ -315,6 +315,9 @@ static PyObject *py_lp_dump_a_parameter(PyObject *self, PyObject *args)
 
        if (!ret) {
                PyErr_Format(PyExc_RuntimeError, "Parameter %s unknown for section %s", param_name, section_name);
+               if (f != stdout) {
+                       fclose(f);
+               }
                return NULL;
        }
 
@@ -454,6 +457,9 @@ static PyObject *py_lp_service_dump(PyObject *self, PyObject *args)
 
        if (!PyObject_TypeCheck(py_default_service, &PyLoadparmService)) {
                PyErr_SetNone(PyExc_TypeError);
+               if (f != stdout) {
+                       fclose(f);
+               }
                return NULL;
        }