File: | src/kerberos.c |
Function: | authGSSClientInit |
Error: | ob_refcnt of '*pystate' is 1 too high |
86 static PyObject* authGSSClientInit(PyObject* self, PyObject* args, PyObject* keywds)
87 {
88 const char *service;
89 gss_client_state *state;
90 PyObject *pystate;
91 static char *kwlist[] = {"service", "gssflags", NULL};
92 long int gss_flags = GSS_C_MUTUAL_FLAG|GSS_C_SEQUENCE_FLAG;
93 int result = 0;
94
95 if (!PyArg_ParseTupleAndKeywords(args, keywds, "s|l", kwlist, &service, &gss_flags))
96 return NULL;
when PyArg_ParseTupleAndKeywords() succeeds
taking False path
97
98 state = (gss_client_state *) malloc(sizeof(gss_client_state));
99 pystate = PyCObject_FromVoidPtr(state, NULL);
100
when PyCObject_FromVoidPtr() succeeds
PyCObject allocated at: pystate = PyCObject_FromVoidPtr(state, NULL);
ob_refcnt is now refs: 1 + N where N >= 0
101 result = authenticate_gss_client_init(service, gss_flags, state);
102 if (result == AUTH_GSS_ERROR)
103 return NULL;
when considering range: -0x80000000 <= value <= -2
taking False path
104
105 return Py_BuildValue("(iO)", result, pystate);
106 }
when Py_BuildValue() succeeds
ob_refcnt is now refs: 1 + N where N >= 1
107
File: | src/kerberos.c |
Function: | authGSSClientInit |
Error: | returning (PyObject*)NULL without setting an exception |
86 static PyObject* authGSSClientInit(PyObject* self, PyObject* args, PyObject* keywds)
87 {
88 const char *service;
89 gss_client_state *state;
90 PyObject *pystate;
91 static char *kwlist[] = {"service", "gssflags", NULL};
92 long int gss_flags = GSS_C_MUTUAL_FLAG|GSS_C_SEQUENCE_FLAG;
93 int result = 0;
94
95 if (!PyArg_ParseTupleAndKeywords(args, keywds, "s|l", kwlist, &service, &gss_flags))
96 return NULL;
when PyArg_ParseTupleAndKeywords() succeeds
taking False path
97
98 state = (gss_client_state *) malloc(sizeof(gss_client_state));
99 pystate = PyCObject_FromVoidPtr(state, NULL);
100
when PyCObject_FromVoidPtr() succeeds
101 result = authenticate_gss_client_init(service, gss_flags, state);
102 if (result == AUTH_GSS_ERROR)
103 return NULL;
when considering value == (int)-1 from src/kerberos.c:102
taking True path
104
105 return Py_BuildValue("(iO)", result, pystate);
106 }
107