Module: kamailio
Branch: master
Commit: dc0586bbf6743080f500800808593d6cc1007945
URL: 
https://github.com/kamailio/kamailio/commit/dc0586bbf6743080f500800808593d6cc1007945

Author: Daniel-Constantin Mierla <[email protected]>
Committer: Daniel-Constantin Mierla <[email protected]>
Date: 2018-03-22T04:46:54+01:00

app_python: avoid releasing uninitialized gstate

---

Modified: src/modules/app_python/python_exec.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/dc0586bbf6743080f500800808593d6cc1007945.diff
Patch: 
https://github.com/kamailio/kamailio/commit/dc0586bbf6743080f500800808593d6cc1007945.patch

---

diff --git a/src/modules/app_python/python_exec.c 
b/src/modules/app_python/python_exec.c
index f5f4d02532..9d3abf492a 100644
--- a/src/modules/app_python/python_exec.c
+++ b/src/modules/app_python/python_exec.c
@@ -69,6 +69,7 @@ int apy_exec(sip_msg_t *_msg, char *fname, char *fparam, int 
emode)
        int mpid;
        int locked = 0;
        PyGILState_STATE gstate;
+       int gstate_init = 0;
 
        bmsg = _sr_apy_env.msg;
        _sr_apy_env.msg = _msg;
@@ -87,6 +88,7 @@ int apy_exec(sip_msg_t *_msg, char *fname, char *fparam, int 
emode)
                        }
                }
                PY_GIL_ENSURE;
+               gstate_init = 1;
        }
 
        pFunc = PyObject_GetAttrString(_sr_apy_handler_obj, fname);
@@ -164,7 +166,7 @@ int apy_exec(sip_msg_t *_msg, char *fname, char *fparam, 
int emode)
        Py_DECREF(pResult);
        _sr_apy_env.msg = bmsg;
  err:
-       PY_GIL_RELEASE;
+       if(gstate_init) { PY_GIL_RELEASE; }
        LOCK_RELEASE;
        return rval;
 }


_______________________________________________
Kamailio (SER) - Development Mailing List
[email protected]
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to