File: | src/session.c |
Function: | session_userauth_keyboard_interactive |
Error: | ob_refcnt of _Py_NoneStruct is 1 too high |
470 static PyObject *
471 session_userauth_keyboard_interactive(SSH2_SessionObj *self, PyObject *args)
472 {
473 char *username;
474 Py_ssize_t username_len;
475 PyObject *callback;
476 int ret;
477
478 if (!PyArg_ParseTuple(args, "s#O:userauth_keyboard_interactive",
when _PyArg_ParseTuple_SizeT() succeeds
taking False path
479 &username, &username_len, &callback))
480 return NULL;
481
482 if (!PyCallable_Check(callback))
when PyCallable_Check() returns 1 (true)
taking False path
483 return PyErr_Format(PyExc_TypeError, "'%s' is not callable", callback->ob_type->tp_name);
484
485 Py_DECREF(self->cb_kbdint_response);
when treating unknown struct PyObject * from src/session.c:485 as non-NULL
when considering range: -0x8000000000000000 <= value <= -1
taking True path
486 Py_INCREF(callback);
487 self->cb_kbdint_response = callback;
488
489 Py_BEGIN_ALLOW_THREADS
releasing the GIL by calling PyEval_SaveThread()
490 ret = libssh2_userauth_keyboard_interactive_ex(self->session, username, username_len, kbdint_response_callback);
491 Py_END_ALLOW_THREADS
reacquiring the GIL by calling PyEval_RestoreThread()
492
493 Py_DECREF(self->cb_kbdint_response);
when considering range: -0x8000000000000000 <= value <= -1
taking True path
ob_refcnt is now refs: 0 + N where N >= 1
494 Py_INCREF(Py_None);
ob_refcnt is now refs: 1 + N where N >= 1
495 self->cb_kbdint_response = Py_None;
496
497 CHECK_RETURN_CODE(ret, self)
when considering range: -0x80000000 <= value <= -1
taking True path
when _PyObject_CallFunction_SizeT() succeeds
when _Py_BuildValue_SizeT() succeeds
when PyObject_SetAttrString() succeeds
calling PyErr_SetObject()
498
499 Py_RETURN_NONE;
500 }
ob_refcnt of _Py_NoneStruct 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 11 similar trace(s) to this
File: | src/session.c |
Function: | session_userauth_keyboard_interactive |
Error: | ob_refcnt of '*_exc' is 1 too high |
470 static PyObject *
471 session_userauth_keyboard_interactive(SSH2_SessionObj *self, PyObject *args)
472 {
473 char *username;
474 Py_ssize_t username_len;
475 PyObject *callback;
476 int ret;
477
478 if (!PyArg_ParseTuple(args, "s#O:userauth_keyboard_interactive",
when _PyArg_ParseTuple_SizeT() succeeds
taking False path
479 &username, &username_len, &callback))
480 return NULL;
481
482 if (!PyCallable_Check(callback))
when PyCallable_Check() returns 1 (true)
taking False path
483 return PyErr_Format(PyExc_TypeError, "'%s' is not callable", callback->ob_type->tp_name);
484
485 Py_DECREF(self->cb_kbdint_response);
when treating unknown struct PyObject * from src/session.c:485 as non-NULL
when considering range: -0x8000000000000000 <= value <= -1
taking True path
486 Py_INCREF(callback);
487 self->cb_kbdint_response = callback;
488
489 Py_BEGIN_ALLOW_THREADS
releasing the GIL by calling PyEval_SaveThread()
490 ret = libssh2_userauth_keyboard_interactive_ex(self->session, username, username_len, kbdint_response_callback);
491 Py_END_ALLOW_THREADS
reacquiring the GIL by calling PyEval_RestoreThread()
492
493 Py_DECREF(self->cb_kbdint_response);
when considering range: -0x8000000000000000 <= value <= -1
taking True path
494 Py_INCREF(Py_None);
495 self->cb_kbdint_response = Py_None;
496
497 CHECK_RETURN_CODE(ret, self)
when considering range: -0x80000000 <= value <= -1
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_CODE(ret, self)
ob_refcnt is now refs: 1 + N where N >= 0
ob_refcnt is now refs: 1 + N where N >= 1
498
499 Py_RETURN_NONE;
500 }
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 11 similar trace(s) to this
File: | src/session.c |
Function: | session_userauth_keyboard_interactive |
Error: | ob_refcnt of new ref from call to _Py_BuildValue_SizeT is 1 too high |
470 static PyObject *
471 session_userauth_keyboard_interactive(SSH2_SessionObj *self, PyObject *args)
472 {
473 char *username;
474 Py_ssize_t username_len;
475 PyObject *callback;
476 int ret;
477
478 if (!PyArg_ParseTuple(args, "s#O:userauth_keyboard_interactive",
when _PyArg_ParseTuple_SizeT() succeeds
taking False path
479 &username, &username_len, &callback))
480 return NULL;
481
482 if (!PyCallable_Check(callback))
when PyCallable_Check() returns 1 (true)
taking False path
483 return PyErr_Format(PyExc_TypeError, "'%s' is not callable", callback->ob_type->tp_name);
484
485 Py_DECREF(self->cb_kbdint_response);
when treating unknown struct PyObject * from src/session.c:485 as non-NULL
when considering range: -0x8000000000000000 <= value <= -1
taking True path
486 Py_INCREF(callback);
487 self->cb_kbdint_response = callback;
488
489 Py_BEGIN_ALLOW_THREADS
releasing the GIL by calling PyEval_SaveThread()
490 ret = libssh2_userauth_keyboard_interactive_ex(self->session, username, username_len, kbdint_response_callback);
491 Py_END_ALLOW_THREADS
reacquiring the GIL by calling PyEval_RestoreThread()
492
493 Py_DECREF(self->cb_kbdint_response);
when considering range: -0x8000000000000000 <= value <= -1
taking True path
494 Py_INCREF(Py_None);
495 self->cb_kbdint_response = Py_None;
496
497 CHECK_RETURN_CODE(ret, self)
when considering range: -0x80000000 <= value <= -1
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_CODE(ret, self)
ob_refcnt is now refs: 1 + N where N >= 0
498
499 Py_RETURN_NONE;
500 }
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 5 similar trace(s) to this
File: | src/session.c |
Function: | session_userauth_keyboard_interactive |
Error: | calling PyObject_SetAttrString with NULL as argument 1 (_exc) at src/session.c:497 |
470 static PyObject *
471 session_userauth_keyboard_interactive(SSH2_SessionObj *self, PyObject *args)
472 {
473 char *username;
474 Py_ssize_t username_len;
475 PyObject *callback;
476 int ret;
477
478 if (!PyArg_ParseTuple(args, "s#O:userauth_keyboard_interactive",
when _PyArg_ParseTuple_SizeT() succeeds
taking False path
479 &username, &username_len, &callback))
480 return NULL;
481
482 if (!PyCallable_Check(callback))
when PyCallable_Check() returns 1 (true)
taking False path
483 return PyErr_Format(PyExc_TypeError, "'%s' is not callable", callback->ob_type->tp_name);
484
485 Py_DECREF(self->cb_kbdint_response);
when treating unknown struct PyObject * from src/session.c:485 as non-NULL
when considering range: -0x8000000000000000 <= value <= -1
taking True path
486 Py_INCREF(callback);
487 self->cb_kbdint_response = callback;
488
489 Py_BEGIN_ALLOW_THREADS
releasing the GIL by calling PyEval_SaveThread()
490 ret = libssh2_userauth_keyboard_interactive_ex(self->session, username, username_len, kbdint_response_callback);
491 Py_END_ALLOW_THREADS
reacquiring the GIL by calling PyEval_RestoreThread()
492
493 Py_DECREF(self->cb_kbdint_response);
when considering range: -0x8000000000000000 <= value <= -1
taking True path
494 Py_INCREF(Py_None);
495 self->cb_kbdint_response = Py_None;
496
497 CHECK_RETURN_CODE(ret, self)
when considering range: -0x80000000 <= value <= -1
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:497
PyObject_SetAttrString() invokes Py_TYPE() on the pointer, thus accessing (NULL)->ob_type
found 5 similar trace(s) to this
498
499 Py_RETURN_NONE;
500 }
File: | src/session.c |
Function: | session_userauth_keyboard_interactive |
Error: | ob_refcnt of return value is 1 too high |
470 static PyObject *
471 session_userauth_keyboard_interactive(SSH2_SessionObj *self, PyObject *args)
472 {
473 char *username;
474 Py_ssize_t username_len;
475 PyObject *callback;
476 int ret;
477
478 if (!PyArg_ParseTuple(args, "s#O:userauth_keyboard_interactive",
when _PyArg_ParseTuple_SizeT() succeeds
taking False path
479 &username, &username_len, &callback))
480 return NULL;
481
482 if (!PyCallable_Check(callback))
when PyCallable_Check() returns 1 (true)
taking False path
483 return PyErr_Format(PyExc_TypeError, "'%s' is not callable", callback->ob_type->tp_name);
484
485 Py_DECREF(self->cb_kbdint_response);
when treating unknown struct PyObject * from src/session.c:485 as non-NULL
when considering range: -0x8000000000000000 <= value <= -1
taking True path
486 Py_INCREF(callback);
487 self->cb_kbdint_response = callback;
488
489 Py_BEGIN_ALLOW_THREADS
releasing the GIL by calling PyEval_SaveThread()
490 ret = libssh2_userauth_keyboard_interactive_ex(self->session, username, username_len, kbdint_response_callback);
491 Py_END_ALLOW_THREADS
reacquiring the GIL by calling PyEval_RestoreThread()
492
493 Py_DECREF(self->cb_kbdint_response);
when considering range: -0x8000000000000000 <= value <= -1
taking True path
ob_refcnt is now refs: 0 + N where N >= 1
494 Py_INCREF(Py_None);
ob_refcnt is now refs: 1 + N where N >= 1
495 self->cb_kbdint_response = Py_None;
496
497 CHECK_RETURN_CODE(ret, self)
when considering range: 0 <= value <= 0x7fffffff
taking False path
498
499 Py_RETURN_NONE;
ob_refcnt is now refs: 2 + N where N >= 1
500 }
ob_refcnt of return value is 1 too high
was expecting final ob_refcnt to be N + 1 (for some unknown N)
due to object being referenced by: return value
but final ob_refcnt is N + 2
found 2 similar trace(s) to this