Issue #15876: Fix a refleak in the curses module

The refleak occurred when assigning to window.encoding.
diff --git a/Misc/NEWS b/Misc/NEWS
index 8046b7b..9babfd8 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -26,6 +26,8 @@
 Library
 -------
 
+- Issue #15876: Fix a refleak in the curses module: window.encoding.
+
 - Issue #15841: The readable(), writable() and seekable() methods of BytesIO
   and StringIO objects now raise ValueError when the object has been closed.
   Patch by Alessandro Moura.
diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c
index 3f9ca13..4e1449b 100644
--- a/Modules/_cursesmodule.c
+++ b/Modules/_cursesmodule.c
@@ -1938,6 +1938,7 @@
     if (ascii == NULL)
         return -1;
     encoding = strdup(PyBytes_AS_STRING(ascii));
+    Py_DECREF(ascii);
     if (encoding == NULL) {
         PyErr_NoMemory();
         return -1;