File: | adnsmodule.c |
Function: | ADNS_State_submit_reverse_any |
Error: | ob_refcnt of '*o' is 1 too high |
495 static PyObject *
496 ADNS_State_submit_reverse_any(
497 ADNS_Stateobject *self,
498 PyObject *args
499 )
500 {
501 char *owner, *zone;
502 struct sockaddr_in addr;
503 adns_rrtype type = 0;
504 adns_queryflags flags = 0;
505 int r;
506 ADNS_Queryobject *o;
507 if (!PyArg_ParseTuple(args, "ssi|i", &owner, &zone, &type, &flags))
when PyArg_ParseTuple() succeeds
taking False path
508 return NULL;
509 r = inet_aton(owner, &(addr.sin_addr));
510 if (!r) {
when considering range: -0x80000000 <= value <= -1
taking False path
511 PyErr_SetString(ErrorObject, "invalid IP address");
512 return NULL;
513 }
514 addr.sin_family = AF_INET;
515 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
516 Py_BEGIN_ALLOW_THREADS;
releasing the GIL by calling PyEval_SaveThread()
517 r = adns_submit_reverse_any(self->state, (struct sockaddr *)&addr, zone, type, flags, o, &o->query);
518 Py_END_ALLOW_THREADS;
reacquiring the GIL by calling PyEval_RestoreThread()
519 if (r) {
when considering range: -0x80000000 <= value <= -1
taking True path
520 PyErr_SetString(ErrorObject, strerror(r));
calling PyErr_SetString()
521 return NULL;
522 }
523 return (PyObject *) o;
524 }
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_any |
Error: | dereferencing NULL (o->query) at adnsmodule.c:517 |
495 static PyObject *
496 ADNS_State_submit_reverse_any(
497 ADNS_Stateobject *self,
498 PyObject *args
499 )
500 {
501 char *owner, *zone;
502 struct sockaddr_in addr;
503 adns_rrtype type = 0;
504 adns_queryflags flags = 0;
505 int r;
506 ADNS_Queryobject *o;
507 if (!PyArg_ParseTuple(args, "ssi|i", &owner, &zone, &type, &flags))
when PyArg_ParseTuple() succeeds
taking False path
508 return NULL;
509 r = inet_aton(owner, &(addr.sin_addr));
510 if (!r) {
when considering range: -0x80000000 <= value <= -1
taking False path
511 PyErr_SetString(ErrorObject, "invalid IP address");
512 return NULL;
513 }
514 addr.sin_family = AF_INET;
515 o = newADNS_Queryobject(self);
when newADNS_Queryobject() fails
516 Py_BEGIN_ALLOW_THREADS;
releasing the GIL by calling PyEval_SaveThread()
517 r = adns_submit_reverse_any(self->state, (struct sockaddr *)&addr, zone, type, flags, o, &o->query);
dereferencing NULL (o->query) at adnsmodule.c:517
found 1 similar trace(s) to this
518 Py_END_ALLOW_THREADS;
519 if (r) {
520 PyErr_SetString(ErrorObject, strerror(r));
521 return NULL;
522 }
523 return (PyObject *) o;
524 }