File: src/session.c
Function: session_forward_listen
Error: ob_refcnt of '*_exc' is 1 too high
768 static PyObject *
769 session_forward_listen(SSH2_SessionObj *self, PyObject *args)
770 {
771 	char *host;
772 	int port;
773 	int queue_maxsize;
774 	int *bound_port;
775 	LIBSSH2_LISTENER *listener;
776 
777 	if (!PyArg_ParseTuple(args, "siii:forward_listen", &host, &port, &bound_port, &queue_maxsize))
when _PyArg_ParseTuple_SizeT() succeeds
taking False path
778 		return NULL;
779 
780 	Py_BEGIN_ALLOW_THREADS
releasing the GIL by calling PyEval_SaveThread()
781 	listener = libssh2_channel_forward_listen_ex(self->session, host, port, bound_port, queue_maxsize);
782 	Py_END_ALLOW_THREADS
reacquiring the GIL by calling PyEval_RestoreThread()
783 
784 	CHECK_RETURN_POINTER(listener, self)
when treating unknown struct LIBSSH2_LISTENER * from src/session.c:781 as NULL
taking True path
when _PyObject_CallFunction_SizeT() succeeds
when _Py_BuildValue_SizeT() succeeds
when PyObject_SetAttrString() succeeds
calling PyErr_SetObject()
new ref from call to _PyObject_CallFunction_SizeT allocated at: 	CHECK_RETURN_POINTER(listener, self)
ob_refcnt is now refs: 1 + N where N >= 0
ob_refcnt is now refs: 1 + N where N >= 1
785 
786 	return (PyObject *)SSH2_Listener_New(listener, self);
787 }
ob_refcnt of '*_exc' is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 3 similar trace(s) to this

File: src/session.c
Function: session_forward_listen
Error: ob_refcnt of new ref from call to _Py_BuildValue_SizeT is 1 too high
768 static PyObject *
769 session_forward_listen(SSH2_SessionObj *self, PyObject *args)
770 {
771 	char *host;
772 	int port;
773 	int queue_maxsize;
774 	int *bound_port;
775 	LIBSSH2_LISTENER *listener;
776 
777 	if (!PyArg_ParseTuple(args, "siii:forward_listen", &host, &port, &bound_port, &queue_maxsize))
when _PyArg_ParseTuple_SizeT() succeeds
taking False path
778 		return NULL;
779 
780 	Py_BEGIN_ALLOW_THREADS
releasing the GIL by calling PyEval_SaveThread()
781 	listener = libssh2_channel_forward_listen_ex(self->session, host, port, bound_port, queue_maxsize);
782 	Py_END_ALLOW_THREADS
reacquiring the GIL by calling PyEval_RestoreThread()
783 
784 	CHECK_RETURN_POINTER(listener, self)
when treating unknown struct LIBSSH2_LISTENER * from src/session.c:781 as NULL
taking True path
when _PyObject_CallFunction_SizeT() succeeds
when _Py_BuildValue_SizeT() succeeds
when PyObject_SetAttrString() succeeds
calling PyErr_SetObject()
new ref from call to _Py_BuildValue_SizeT allocated at: 	CHECK_RETURN_POINTER(listener, self)
ob_refcnt is now refs: 1 + N where N >= 0
785 
786 	return (PyObject *)SSH2_Listener_New(listener, self);
787 }
ob_refcnt of new ref from call to _Py_BuildValue_SizeT is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 1 similar trace(s) to this

File: src/session.c
Function: session_forward_listen
Error: calling PyObject_SetAttrString with NULL as argument 1 (_exc) at src/session.c:784
768 static PyObject *
769 session_forward_listen(SSH2_SessionObj *self, PyObject *args)
770 {
771 	char *host;
772 	int port;
773 	int queue_maxsize;
774 	int *bound_port;
775 	LIBSSH2_LISTENER *listener;
776 
777 	if (!PyArg_ParseTuple(args, "siii:forward_listen", &host, &port, &bound_port, &queue_maxsize))
when _PyArg_ParseTuple_SizeT() succeeds
taking False path
778 		return NULL;
779 
780 	Py_BEGIN_ALLOW_THREADS
releasing the GIL by calling PyEval_SaveThread()
781 	listener = libssh2_channel_forward_listen_ex(self->session, host, port, bound_port, queue_maxsize);
782 	Py_END_ALLOW_THREADS
reacquiring the GIL by calling PyEval_RestoreThread()
783 
784 	CHECK_RETURN_POINTER(listener, self)
when treating unknown struct LIBSSH2_LISTENER * from src/session.c:781 as NULL
taking True path
when _PyObject_CallFunction_SizeT() fails
when _Py_BuildValue_SizeT() succeeds
calling PyObject_SetAttrString with NULL as argument 1 (_exc) at src/session.c:784
PyObject_SetAttrString() invokes Py_TYPE() on the pointer, thus accessing (NULL)->ob_type
found 1 similar trace(s) to this
785 
786 	return (PyObject *)SSH2_Listener_New(listener, self);
787 }