File: | src/kerberos.c |
Function: | authGSSServerInit |
Error: | ob_refcnt of '*pystate' is 1 too high |
252 static PyObject *authGSSServerInit(PyObject *self, PyObject *args)
253 {
254 const char *service;
255 gss_server_state *state;
256 PyObject *pystate;
257 int result = 0;
258
259 if (!PyArg_ParseTuple(args, "s", &service))
260 return NULL;
when PyArg_ParseTuple() succeeds
taking False path
261
262 state = (gss_server_state *) malloc(sizeof(gss_server_state));
263 pystate = PyCObject_FromVoidPtr(state, NULL);
264
when PyCObject_FromVoidPtr() succeeds
PyCObject allocated at: pystate = PyCObject_FromVoidPtr(state, NULL);
ob_refcnt is now refs: 1 + N where N >= 0
265 result = authenticate_gss_server_init(service, state);
266 if (result == AUTH_GSS_ERROR)
267 return NULL;
when considering range: -0x80000000 <= value <= -2
taking False path
268
269 return Py_BuildValue("(iO)", result, pystate);
270 }
when Py_BuildValue() succeeds
ob_refcnt is now refs: 1 + N where N >= 1
271
File: | src/kerberos.c |
Function: | authGSSServerInit |
Error: | returning (PyObject*)NULL without setting an exception |
252 static PyObject *authGSSServerInit(PyObject *self, PyObject *args)
253 {
254 const char *service;
255 gss_server_state *state;
256 PyObject *pystate;
257 int result = 0;
258
259 if (!PyArg_ParseTuple(args, "s", &service))
260 return NULL;
when PyArg_ParseTuple() succeeds
taking False path
261
262 state = (gss_server_state *) malloc(sizeof(gss_server_state));
263 pystate = PyCObject_FromVoidPtr(state, NULL);
264
when PyCObject_FromVoidPtr() succeeds
265 result = authenticate_gss_server_init(service, state);
266 if (result == AUTH_GSS_ERROR)
267 return NULL;
when considering value == (int)-1 from src/kerberos.c:266
taking True path
268
269 return Py_BuildValue("(iO)", result, pystate);
270 }
271