From 53e10a4952ca6807150c25b52df5abc2b18d1948 Mon Sep 17 00:00:00 2001 From: Edward MacDonald Date: Thu, 2 Apr 2026 23:37:34 -0600 Subject: [PATCH] Fix memory leaks in template Setup() bitmap loading Nine BYTE arrays allocated with new[] were never freed after being passed to Nana's img.open(). Added matching delete[] calls immediately after all open() calls. Also removed unused barfocusedPixels pointer that was declared but never initialized or referenced. --- SDRunoPlugin_Template/SDRunoPlugin_TemplateForm.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/SDRunoPlugin_Template/SDRunoPlugin_TemplateForm.cpp b/SDRunoPlugin_Template/SDRunoPlugin_TemplateForm.cpp index 0d4729e..be17ee4 100644 --- a/SDRunoPlugin_Template/SDRunoPlugin_TemplateForm.cpp +++ b/SDRunoPlugin_Template/SDRunoPlugin_TemplateForm.cpp @@ -86,7 +86,6 @@ void SDRunoPlugin_TemplateForm::Setup() BYTE* minPixels = NULL; BYTE* minoverPixels = NULL; BYTE* barPixels = NULL; - BYTE* barfocusedPixels = NULL; BYTE* settPixels = NULL; BYTE* settoverPixels = NULL; const unsigned int rawDataOffset = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFO); @@ -209,6 +208,15 @@ void SDRunoPlugin_TemplateForm::Setup() img_header.open(barPixels, bmInfo_bar.bmiHeader.biSizeImage); img_sett_normal.open(settPixels, bmInfo_sett.bmiHeader.biSizeImage); img_sett_down.open(settoverPixels, bmInfo_sett_over.bmiHeader.biSizeImage); + delete[] borderPixels; + delete[] innerPixels; + delete[] closePixels; + delete[] closeoverPixels; + delete[] minPixels; + delete[] minoverPixels; + delete[] barPixels; + delete[] settPixels; + delete[] settoverPixels; ReleaseDC(NULL, hdc); bg_border.load(img_border, nana::rectangle(0, 0, 590, 340)); bg_border.stretchable(0, 0, 0, 0);