File: wspy_register.c
Function: py_dissect
Error: ob_refcnt of new ref from call to PyObject_CallMethod is 1 too high
198  */
199 void py_dissect(tvbuff_t * tvb, packet_info * pinfo,
200     proto_tree * tree)
201 {
202   PyObject * py_dissector;
203 
204   /* printf("pinfo->current_proto : %s\n", pinfo->current_proto); */
205   /* NOTE => pinfo->current_proto == "HomePlug" */
206 
207   g_tree = tree;
208   g_pinfo = pinfo;
209   g_tvb = tvb;
210 
211   py_dissector = g_hash_table_lookup(g_py_dissectors, pinfo->current_proto);
when treating unknown struct packet_info * from wspy_register.c:199 as non-NULL
212   assert(py_dissector);
when treating unknown void * from wspy_register.c:211 as non-NULL
taking False path
213 
214   PyObject_CallMethod(py_dissector, "pre_dissect", NULL);
when PyObject_CallMethod() succeeds
new ref from call to PyObject_CallMethod allocated at:   PyObject_CallMethod(py_dissector, "pre_dissect", NULL);
ob_refcnt is now refs: 1 + N where N >= 0
215 }
returning
ob_refcnt of new ref from call to PyObject_CallMethod is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1