profanity: fix a small memory leak in Python 3.11
This commit is contained in:
parent
4e8f8190c3
commit
1acd60f83a
1 changed files with 5 additions and 1 deletions
|
@ -1,6 +1,8 @@
|
||||||
|
diff --git a/src/plugins/python_api.c b/src/plugins/python_api.c
|
||||||
|
index 0b91cf70..091b3b4a 100644
|
||||||
--- a/src/plugins/python_api.c
|
--- a/src/plugins/python_api.c
|
||||||
+++ b/src/plugins/python_api.c
|
+++ b/src/plugins/python_api.c
|
||||||
@@ -1619,8 +1619,14 @@ static char*
|
@@ -1619,8 +1619,16 @@ static char*
|
||||||
_python_plugin_name(void)
|
_python_plugin_name(void)
|
||||||
{
|
{
|
||||||
PyThreadState* ts = PyThreadState_Get();
|
PyThreadState* ts = PyThreadState_Get();
|
||||||
|
@ -8,6 +10,8 @@
|
||||||
+ PyFrameObject* frame = PyThreadState_GetFrame(ts);
|
+ PyFrameObject* frame = PyThreadState_GetFrame(ts);
|
||||||
+ PyCodeObject* code = PyFrame_GetCode(frame);
|
+ PyCodeObject* code = PyFrame_GetCode(frame);
|
||||||
+ char* filename = python_str_or_unicode_to_string(code->co_filename);
|
+ char* filename = python_str_or_unicode_to_string(code->co_filename);
|
||||||
|
+ Py_DECREF(code);
|
||||||
|
+ Py_DECREF(frame);
|
||||||
+#else
|
+#else
|
||||||
PyFrameObject* frame = ts->frame;
|
PyFrameObject* frame = ts->frame;
|
||||||
char* filename = python_str_or_unicode_to_string(frame->f_code->co_filename);
|
char* filename = python_str_or_unicode_to_string(frame->f_code->co_filename);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue