summaryrefslogtreecommitdiff
path: root/Modules/_curses_panel.c
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2016-05-08 20:46:55 +0300
committerSerhiy Storchaka <storchaka@gmail.com>2016-05-08 20:46:55 +0300
commitdea76376cb8fc2c255438e9708f492a25a5f2759 (patch)
tree0c89f86a7b8b5f1ab1172194ef66e6adb7bd2e66 /Modules/_curses_panel.c
parent1ce738e08f147beb724f22a9411724a955cd418d (diff)
parente3f1b0911e02f5108b90b9b25417a448a423da40 (diff)
downloadcpython-git-dea76376cb8fc2c255438e9708f492a25a5f2759.tar.gz
Issue #23815: Fixed crashes related to directly created instances of types in
_tkinter and curses.panel modules.
Diffstat (limited to 'Modules/_curses_panel.c')
-rw-r--r--Modules/_curses_panel.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/Modules/_curses_panel.c b/Modules/_curses_panel.c
index 26bf0944eb..bd313268b6 100644
--- a/Modules/_curses_panel.c
+++ b/Modules/_curses_panel.c
@@ -506,10 +506,11 @@ PyInit__curses_panel(void)
d = PyModule_GetDict(m);
/* Initialize object type */
- _curses_panelstate(m)->PyCursesPanel_Type = \
- PyType_FromSpec(&PyCursesPanel_Type_spec);
- if (_curses_panelstate(m)->PyCursesPanel_Type == NULL)
+ v = PyType_FromSpec(&PyCursesPanel_Type_spec);
+ if (v == NULL)
goto fail;
+ ((PyTypeObject *)v)->tp_new = NULL;
+ _curses_panelstate(m)->PyCursesPanel_Type = v;
import_curses();
if (PyErr_Occurred())