]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-126313: Fix a crash in curses.napms() due to incorrect error handling (GH-126351)
authorBénédikt Tran <10796600+picnixz@users.noreply.github.com>
Sun, 3 Nov 2024 15:08:34 +0000 (16:08 +0100)
committerGitHub <noreply@github.com>
Sun, 3 Nov 2024 15:08:34 +0000 (15:08 +0000)
Misc/NEWS.d/next/Library/2024-11-03-09-42-42.gh-issue-126313.EFP6Dl.rst [new file with mode: 0644]
Modules/_cursesmodule.c

diff --git a/Misc/NEWS.d/next/Library/2024-11-03-09-42-42.gh-issue-126313.EFP6Dl.rst b/Misc/NEWS.d/next/Library/2024-11-03-09-42-42.gh-issue-126313.EFP6Dl.rst
new file mode 100644 (file)
index 0000000..dad348d
--- /dev/null
@@ -0,0 +1,2 @@
+Fix an issue in :func:`curses.napms` when :func:`curses.initscr` has not yet
+been called. Patch by Bénédikt Tran.
index 27d5df08de933ee005d0c60d20f45e0a8b83a55c..040ffa81153ebe2ba1d06c7d5543279255e2d335 100644 (file)
@@ -3815,8 +3815,11 @@ static int
 _curses_napms_impl(PyObject *module, int ms)
 /*[clinic end generated code: output=5f292a6a724491bd input=c6d6e01f2f1df9f7]*/
 {
-    PyCursesStatefulInitialised(module);
-
+    if (!_PyCursesStatefulCheckFunction(module,
+                                        curses_initscr_called,
+                                        "initscr")) {
+        return -1;
+    }
     return napms(ms);
 }