updated for version 7.3.1098
Problem: Python: Possible memory leaks
Solution: Add Py_XDECREF() calls. (ZyX)
diff --git a/src/if_py_both.h b/src/if_py_both.h
index eedbf1c..21bf069 100644
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -1017,6 +1017,7 @@
if (*key == NUL)
{
RAISE_NO_EMPTY_KEYS;
+ Py_XDECREF(todecref);
return NULL;
}
@@ -1160,6 +1161,7 @@
if (!(key = StringToChars(keyObject, &todecref)))
return -1;
+
if (*key == NUL)
{
RAISE_NO_EMPTY_KEYS;
@@ -2216,9 +2218,11 @@
if (!(key = StringToChars(keyObject, &todecref)))
return NULL;
+
if (*key == NUL)
{
RAISE_NO_EMPTY_KEYS;
+ Py_XDECREF(todecref);
return NULL;
}
@@ -2349,9 +2353,11 @@
if (!(key = StringToChars(keyObject, &todecref)))
return -1;
+
if (*key == NUL)
{
RAISE_NO_EMPTY_KEYS;
+ Py_XDECREF(todecref);
return -1;
}
@@ -4568,6 +4574,7 @@
dict_unref(dict);
return -1;
}
+
if (*key == NUL)
{
dict_unref(dict);
@@ -4651,6 +4658,7 @@
dict_unref(dict);
return -1;
}
+
if (*key == NUL)
{
Py_DECREF(keyObject);