profanity: fix a small memory leak in Python 3.11

This commit is contained in:
Đoàn Trần Công Danh 2022-09-24 12:50:40 +07:00
parent 4e8f8190c3
commit 1acd60f83a

View File

@ -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
+++ b/src/plugins/python_api.c
@@ -1619,8 +1619,14 @@ static char*
@@ -1619,8 +1619,16 @@ static char*
_python_plugin_name(void)
{
PyThreadState* ts = PyThreadState_Get();
@ -8,6 +10,8 @@
+ PyFrameObject* frame = PyThreadState_GetFrame(ts);
+ PyCodeObject* code = PyFrame_GetCode(frame);
+ char* filename = python_str_or_unicode_to_string(code->co_filename);
+ Py_DECREF(code);
+ Py_DECREF(frame);
+#else
PyFrameObject* frame = ts->frame;
char* filename = python_str_or_unicode_to_string(frame->f_code->co_filename);