[Andreas Jung] > Sorry, false alarm :-( There assignment of the NULL occurs in the > if-clause of the corresponding code (I have overseen the ASSIGN > call): Thanks for the followup! > if (! PyInt_Check(p)) > { > if (PyDict_Check(p)) > { > if (PyString_Check(name) || > PyUnicode_Check(name)) > { > ASSIGN(p, PyObject_GetItem(p, name)); > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > if (p == NULL) { > puts("PyObject returned NULL"); > PyErr_Clear(); > } > } > else > p = PyInt_FromLong((long)1); > > ...doing some further investigations on that. I note that all of this is nested inside another "if (p) {...}" block. That implies the "p = PyInt_FromLong((long)1);" line is at least a memory leak: it overwrites p without decref'ing p first.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4