File: | adnsmodule.c |
Function: | ADNS_State_submit_reverse |
Error: | ob_refcnt of '*o' is 1 too high |
455 static PyObject *
456 ADNS_State_submit_reverse(
457 ADNS_Stateobject *self,
458 PyObject *args
459 )
460 {
461 char *owner;
462 struct sockaddr_in addr;
463 adns_rrtype type = 0;
464 adns_queryflags flags = 0;
465 int r;
466 ADNS_Queryobject *o;
467 if (!PyArg_ParseTuple(args, "si|i", &owner, &type, &flags))
when PyArg_ParseTuple() succeeds
taking False path
468 return NULL;
469 r = inet_aton(owner, (struct in_addr *) &(addr.sin_addr));
470 if (!r) {
when considering range: -0x80000000 <= value <= -1
taking False path
471 PyErr_SetString(ErrorObject, "invalid IP address");
472 return NULL;
473 }
474 addr.sin_family = AF_INET;
475 o = newADNS_Queryobject(self);
when newADNS_Queryobject() succeeds
new ref from (unknown) newADNS_Queryobject allocated at: o = newADNS_Queryobject(self);
ob_refcnt is now refs: 1 + N where N >= 0
476 Py_BEGIN_ALLOW_THREADS;
releasing the GIL by calling PyEval_SaveThread()
477 r = adns_submit_reverse(self->state, (struct sockaddr *)&addr, type, flags, o, &o->query);
478 Py_END_ALLOW_THREADS;
reacquiring the GIL by calling PyEval_RestoreThread()
479 if (r) {
when considering range: -0x80000000 <= value <= -1
taking True path
480 PyErr_SetString(ErrorObject, strerror(r));
calling PyErr_SetString()
481 return NULL;
482 }
483 return (PyObject *) o;
484 }
ob_refcnt of '*o' 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: | adnsmodule.c |
Function: | ADNS_State_submit_reverse |
Error: | dereferencing NULL (o->query) at adnsmodule.c:477 |
455 static PyObject *
456 ADNS_State_submit_reverse(
457 ADNS_Stateobject *self,
458 PyObject *args
459 )
460 {
461 char *owner;
462 struct sockaddr_in addr;
463 adns_rrtype type = 0;
464 adns_queryflags flags = 0;
465 int r;
466 ADNS_Queryobject *o;
467 if (!PyArg_ParseTuple(args, "si|i", &owner, &type, &flags))
when PyArg_ParseTuple() succeeds
taking False path
468 return NULL;
469 r = inet_aton(owner, (struct in_addr *) &(addr.sin_addr));
470 if (!r) {
when considering range: -0x80000000 <= value <= -1
taking False path
471 PyErr_SetString(ErrorObject, "invalid IP address");
472 return NULL;
473 }
474 addr.sin_family = AF_INET;
475 o = newADNS_Queryobject(self);
when newADNS_Queryobject() fails
476 Py_BEGIN_ALLOW_THREADS;
releasing the GIL by calling PyEval_SaveThread()
477 r = adns_submit_reverse(self->state, (struct sockaddr *)&addr, type, flags, o, &o->query);
dereferencing NULL (o->query) at adnsmodule.c:477
found 1 similar trace(s) to this
478 Py_END_ALLOW_THREADS;
479 if (r) {
480 PyErr_SetString(ErrorObject, strerror(r));
481 return NULL;
482 }
483 return (PyObject *) o;
484 }