From 2550f89e513d771bb6aa5a31a0ad6199097b431a Mon Sep 17 00:00:00 2001 From: Tim Felgentreff <timfelgentreff@gmail.com> Date: Sat, 27 Oct 2018 22:12:13 +0000 Subject: [PATCH] fix a double-free error --- src/video/graphic.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/video/graphic.cpp b/src/video/graphic.cpp index d0d169572..4351b1144 100644 --- a/src/video/graphic.cpp +++ b/src/video/graphic.cpp @@ -1650,9 +1650,13 @@ void CFiller::Load() bool CGraphic::DeleteColorCyclingTextures() { if (!ColorCyclingTextures) return false; - for (int i = 0; i < NumColorCycles; i++) { - glDeleteTextures(NumTextures, ColorCyclingTextures[i]); - delete[] ColorCyclingTextures[i]; + for (int i = 1; i < NumColorCycles; i++) { + // first one is the default and already free'd + if (ColorCyclingTextures[i] != NULL) { + glDeleteTextures(NumTextures, ColorCyclingTextures[i]); + delete[] ColorCyclingTextures[i]; + ColorCyclingTextures[i] = NULL; + } } delete[] ColorCyclingTextures; ColorCyclingTextures = NULL;