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;