fixed strategy btlazy2
diff --git a/lib/compress/zstd_lazy.c b/lib/compress/zstd_lazy.c
index c6f45c3..e43c25f 100644
--- a/lib/compress/zstd_lazy.c
+++ b/lib/compress/zstd_lazy.c
@@ -243,8 +243,10 @@
const BYTE* const base = ms->window.base;
U32 const current = (U32)(ip-base);
U32 const maxDistance = 1U << cParams->windowLog;
- U32 const windowValid = ms->window.lowLimit;
- U32 const windowLow = (current - windowValid > maxDistance) ? current - maxDistance : windowValid;
+ U32 const lowestValid = ms->window.lowLimit;
+ U32 const withinWindow = (current - lowestValid > maxDistance) ? current - maxDistance : lowestValid;
+ U32 const isDictionary = (ms->loadedDictEnd != 0);
+ U32 const windowLow = isDictionary ? lowestValid : withinWindow;
U32* const bt = ms->chainTable;
U32 const btLog = cParams->chainLog - 1;