From 410406158a4e739968c1547a5081e1d2374c02c6 Mon Sep 17 00:00:00 2001
From: hendricks266 <hendricks266@1a8010ca-5511-0410-912e-c29ae57300e0>
Date: Wed, 27 May 2015 08:47:03 +0000
Subject: [PATCH] Re-expose kpzbufsiz and set it to zero in uninitengine,
 preventing potential crashes from successive re-initializations of the
 engine.

git-svn-id: https://svn.eduke32.com/eduke32@5254 1a8010ca-5511-0410-912e-c29ae57300e0
---
 polymer/eduke32/build/include/cache1d.h | 1 +
 polymer/eduke32/build/src/cache1d.c     | 3 +--
 polymer/eduke32/build/src/engine.c      | 1 +
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/polymer/eduke32/build/include/cache1d.h b/polymer/eduke32/build/include/cache1d.h
index 4c9473109..6edc5f785 100644
--- a/polymer/eduke32/build/include/cache1d.h
+++ b/polymer/eduke32/build/include/cache1d.h
@@ -15,6 +15,7 @@ int32_t cache1d_file_fromzip(int32_t fil);
 #endif
 
 extern char *kpzbuf;
+extern int32_t kpzbufsiz;
 extern int32_t kpzbufloadfil(int32_t);
 extern int32_t kpzbufload(const char *);
 
diff --git a/polymer/eduke32/build/src/cache1d.c b/polymer/eduke32/build/src/cache1d.c
index 1c41632f4..93f218bd4 100644
--- a/polymer/eduke32/build/src/cache1d.c
+++ b/polymer/eduke32/build/src/cache1d.c
@@ -56,11 +56,10 @@ static intptr_t kzipopen(const char *filnam)
 #endif
 
 char *kpzbuf = NULL;
+int32_t kpzbufsiz;
 
 int32_t kpzbufloadfil(int32_t const handle)
 {
-    static int32_t kpzbufsiz = 0;
-
     int32_t const leng = kfilelength(handle);
     if (leng > kpzbufsiz)
     {
diff --git a/polymer/eduke32/build/src/engine.c b/polymer/eduke32/build/src/engine.c
index 3b555ed5d..0585f1377 100644
--- a/polymer/eduke32/build/src/engine.c
+++ b/polymer/eduke32/build/src/engine.c
@@ -9275,6 +9275,7 @@ void uninitengine(void)
     DO_FREE_AND_NULL(blockptr);
 #endif
     DO_FREE_AND_NULL(kpzbuf);
+    kpzbufsiz = 0;
 
     uninitsystem();