]> sigrok.org Git - libsigrokdecode.git/blobdiff - controller.c
Don't release borrowed reference
[libsigrokdecode.git] / controller.c
index c6347c0a93b3d7f826ce1172a1d6413d6ec381a9..c196dad71c9bbfcb47c94ebd3c965765ddde9882 100644 (file)
@@ -407,13 +407,14 @@ SRD_API int srd_inst_option_set(struct srd_decoder_inst *di,
        ret = SRD_OK;
 
 err_out:
-       Py_XDECREF(py_optlist);
        Py_XDECREF(py_di_options);
        Py_XDECREF(py_dec_optkeys);
        Py_XDECREF(py_dec_options);
        g_free(key);
-       if (PyErr_Occurred())
+       if (PyErr_Occurred()) {
                srd_exception_catch("Stray exception in srd_inst_option_set().");
+               ret = SRD_ERR_PYTHON;
+       }
 
        return ret;
 }