File: adnsmodule.c
Function: ADNS_State_submit
Error: ob_refcnt of '*o' is 1 too high
422 static PyObject *
423 ADNS_State_submit(
424 	ADNS_Stateobject *self,
425 	PyObject *args
426 	)
427 {
428 	char *owner;
429 	adns_rrtype type = 0;
430 	adns_queryflags flags = 0;
431 	int r;
432 	ADNS_Queryobject *o;
433 	if (!PyArg_ParseTuple(args, "si|i", &owner, &type, &flags))
when PyArg_ParseTuple() succeeds
taking False path
434 		return NULL;
435 	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
436 	Py_BEGIN_ALLOW_THREADS;
releasing the GIL by calling PyEval_SaveThread()
437 	r = adns_submit(self->state, owner, type, flags, o, &o->query);
438 	Py_END_ALLOW_THREADS;
reacquiring the GIL by calling PyEval_RestoreThread()
439 	if (r) {
when considering range: -0x80000000 <= value <= -1
taking True path
440 		PyErr_SetString(ErrorObject, strerror(r));
calling PyErr_SetString()
441 		return NULL;
442 	}
443 	return (PyObject *) o;
444 }
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 1 similar trace(s) to this

File: adnsmodule.c
Function: ADNS_State_submit
Error: dereferencing NULL (o->query) at adnsmodule.c:437
422 static PyObject *
423 ADNS_State_submit(
424 	ADNS_Stateobject *self,
425 	PyObject *args
426 	)
427 {
428 	char *owner;
429 	adns_rrtype type = 0;
430 	adns_queryflags flags = 0;
431 	int r;
432 	ADNS_Queryobject *o;
433 	if (!PyArg_ParseTuple(args, "si|i", &owner, &type, &flags))
when PyArg_ParseTuple() succeeds
taking False path
434 		return NULL;
435 	o = newADNS_Queryobject(self);
when newADNS_Queryobject() fails
436 	Py_BEGIN_ALLOW_THREADS;
releasing the GIL by calling PyEval_SaveThread()
437 	r = adns_submit(self->state, owner, type, flags, o, &o->query);
dereferencing NULL (o->query) at adnsmodule.c:437
438 	Py_END_ALLOW_THREADS;
439 	if (r) {
440 		PyErr_SetString(ErrorObject, strerror(r));
441 		return NULL;
442 	}
443 	return (PyObject *) o;
444 }