From 9322f176fdc4979beceeddf2dc519a59f31a5e3b Mon Sep 17 00:00:00 2001 From: Dan <220160+danbedford@users.noreply.github.com> Date: Fri, 1 May 2026 12:21:22 -0400 Subject: [PATCH] fix: free plot_window in delete_all_windows initialize_gpu_mem_plot() allocates plot->plot_window with newwin() but delete_all_windows() only calls delwin() on plots[i].win, leaking the plot_window. This leaks one WINDOW struct per chart on every resize (Ctrl+L) or monitored-GPU-set change that triggers delete_all_windows() followed by initialize_all_windows(). --- src/interface.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/interface.c b/src/interface.c index 562fb03..90db5e6 100644 --- a/src/interface.c +++ b/src/interface.c @@ -397,6 +397,7 @@ static void delete_all_windows(struct nvtop_interface *dwin) { delwin(dwin->process.option_window.option_win); for (size_t i = 0; i < dwin->num_plots; ++i) { delwin(dwin->plots[i].win); + delwin(dwin->plots[i].plot_window); free(dwin->plots[i].data); } free_setup_window(&dwin->setup_win);