◐ Shell
clean mode source ↗

[3.13] bpo-44172: Keep reference to original window in curses subwindow objects (GH-26226) by serhiy-storchaka · Pull Request #133370 · python/cpython

The X/Open curses specification[0] and ncurses documentation[1] both state that subwindows must be deleted before the main window.

Deleting the windows in the wrong order causes a double-free with NetBSD's curses implementation.

To fix this, keep track of the original window object in the subwindow object, and keep a reference to the original for the lifetime of the subwindow.

[0] https://pubs.opengroup.org/onlinepubs/7908799/xcurses/delwin.html [1] https://invisible-island.net/ncurses/man/curs_window.3x.html (cherry picked from commit 0af61fe)