s4:pyparam: Fix resource leaks on error
authorAndreas Schneider <asn@samba.org>
Wed, 25 Oct 2017 17:25:20 +0000 (19:25 +0200)
committerJeremy Allison <jra@samba.org>
Fri, 27 Oct 2017 18:33:25 +0000 (20:33 +0200)
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>
source4/param/pyparam.c

index 713e608cf1b964d2f69ae9a98f9ddcec39b58590..f16c2c0b227bab09bdcd343870a1bdd1f8ba8321 100644 (file)
@@ -331,6 +331,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;
        }
 
@@ -479,6 +482,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;
        }