From 6e9da38866e3990df440da63bbec39a90487e261 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A9n=C3=A9dikt=20Tran?= <10796600+picnixz@users.noreply.github.com> Date: Wed, 6 Nov 2024 14:33:23 +0100 Subject: [PATCH] [3.13] gh-126313: Fix a crash in curses.napms() due to incorrect error handling (GH-126351) (#126493) gh-126313: Fix a crash in curses.napms() due to incorrect error handling (GH-126351) --- .../Library/2024-11-03-09-42-42.gh-issue-126313.EFP6Dl.rst | 2 ++ Modules/_cursesmodule.c | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Library/2024-11-03-09-42-42.gh-issue-126313.EFP6Dl.rst 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 index 00000000000..dad348d8898 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2024-11-03-09-42-42.gh-issue-126313.EFP6Dl.rst @@ -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. diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c index f926fa2f9c0..55038cf09c2 100644 --- a/Modules/_cursesmodule.c +++ b/Modules/_cursesmodule.c @@ -3688,7 +3688,10 @@ static int _curses_napms_impl(PyObject *module, int ms) /*[clinic end generated code: output=5f292a6a724491bd input=c6d6e01f2f1df9f7]*/ { - PyCursesInitialised; + if (initialised != TRUE) { + PyErr_SetString(PyCursesError, "must call initscr() first"); + return -1; + } return napms(ms); }