bpo-27666: Fixed stack corruption in curses.box() and curses.ungetmouse(). (GH-4220) (#4222)
(cherry picked from commit 4f469c096628af730b17798d0ebfd8925bfde836)
diff --git a/Lib/test/test_curses.py b/Lib/test/test_curses.py
index 6d3ab7c..502c222 100644
--- a/Lib/test/test_curses.py
+++ b/Lib/test/test_curses.py
@@ -92,7 +92,7 @@
(4,4, 'a'), (5,5, 'a', curses.A_BOLD)]:
meth(*args)
- for meth in [stdscr.box, stdscr.clear, stdscr.clrtobot,
+ for meth in [stdscr.clear, stdscr.clrtobot,
stdscr.clrtoeol, stdscr.cursyncup, stdscr.delch,
stdscr.deleteln, stdscr.erase, stdscr.getbegyx,
stdscr.getbkgd, stdscr.getkey, stdscr.getmaxyx,
@@ -125,6 +125,13 @@
win.border(65, 66, 67, 68,
69, [], 71, 72)
+ win.box(65, 67)
+ win.box('!', '_')
+ win.box(b':', b'~')
+ self.assertRaises(TypeError, win.box, 65, 66, 67)
+ self.assertRaises(TypeError, win.box, 65)
+ win.box()
+
stdscr.clearok(1)
win4 = stdscr.derwin(2,2)