From 85572d46eb031259364dcab06eed272a95fe9de9 Mon Sep 17 00:00:00 2001 From: Vyron Vasileiadis Date: Mon, 7 Sep 2026 22:44:20 +0300 Subject: [PATCH] [3.15] gh-156953: Fix a reference leak in curses window.insnstr() (GH-156954) insnstr() did not release the bytes object it converted its argument to when setting the attributes failed, unlike addstr(), addnstr() and insstr(). (cherry picked from commit 23180c50082fe98784c78511b335d7274ed87fb7) Co-authored-by: Vyron Vasileiadis --- Modules/_cursesmodule.c | 1 + 1 file changed, 1 insertion(+) diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c index f2afd60b1fc9a7..6e2522def97e26 100644 --- a/Modules/_cursesmodule.c +++ b/Modules/_cursesmodule.c @@ -2410,6 +2410,7 @@ _curses_window_insnstr_impl(PyCursesWindowObject *self, int group_left_1, attr_old = getattrs(self->win); if (curses_wattrset(self, attr, "insnstr") < 0) { curses_release_wstr(strtype, wstr); + Py_XDECREF(bytesobj); return NULL; } }