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();