From 20c69077d1ce197cb6cf7f1bf8f581fb98607b71 Mon Sep 17 00:00:00 2001 From: "W. Felix Handte" Date: Wed, 11 Sep 2019 17:03:09 -0400 Subject: [PATCH] Shrink Table Valid End During Alloc Alignment / Phase Change --- lib/compress/zstd_cwksp.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/compress/zstd_cwksp.h b/lib/compress/zstd_cwksp.h index 98499b86..39d064c4 100644 --- a/lib/compress/zstd_cwksp.h +++ b/lib/compress/zstd_cwksp.h @@ -184,6 +184,9 @@ MEM_STATIC void ZSTD_cwksp_internal_advance_phase( * by a larger margin than the space that will be consumed. */ /* TODO: cleaner, compiler warning friendly way to do this??? */ ws->allocStart = (BYTE*)ws->allocStart - ((size_t)ws->allocStart & (sizeof(U32)-1)); + if (ws->allocStart < ws->tableValidEnd) { + ws->tableValidEnd = ws->allocStart; + } } ws->phase = phase; }