diff --git a/.gitattributes b/.gitattributes
index b36a354d..3959727b 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -10,7 +10,7 @@
*.png binary
# Visual Studio
-*.sln binary
-*.suo binary
+*.sln text eol=crlf
*.vcxproj* text eol=crlf
-*.rc text eol=crlf
+*.suo binary
+*.rc binary
diff --git a/lib/compress/zstd_compress.c b/lib/compress/zstd_compress.c
index 6e75d10e..7b07eb45 100644
--- a/lib/compress/zstd_compress.c
+++ b/lib/compress/zstd_compress.c
@@ -218,7 +218,7 @@ static size_t ZSTD_resetCCtx_advanced (ZSTD_CCtx* zc,
const size_t maxNbSeq = blockSize / divider;
const size_t tokenSpace = blockSize + 11*maxNbSeq;
const size_t chainSize = (params.cParams.strategy == ZSTD_fast) ? 0 : (1 << params.cParams.chainLog);
- const size_t hSize = (size_t)(1 << params.cParams.hashLog);
+ const size_t hSize = ((size_t)1) << params.cParams.hashLog;
const size_t h3Size = (zc->hashLog3) ? 1 << zc->hashLog3 : 0;
const size_t tableSpace = (chainSize + hSize + h3Size) * sizeof(U32);
@@ -291,7 +291,7 @@ size_t ZSTD_copyCCtx(ZSTD_CCtx* dstCCtx, const ZSTD_CCtx* srcCCtx)
/* copy tables */
{ const size_t chainSize = (srcCCtx->params.cParams.strategy == ZSTD_fast) ? 0 : (1 << srcCCtx->params.cParams.chainLog);
- const size_t hSize = (size_t)(1 << srcCCtx->params.cParams.hashLog);
+ const size_t hSize = ((size_t)1) << srcCCtx->params.cParams.hashLog;
const size_t h3Size = (srcCCtx->hashLog3) ? 1 << srcCCtx->hashLog3 : 0;
const size_t tableSpace = (chainSize + hSize + h3Size) * sizeof(U32);
memcpy(dstCCtx->workSpace, srcCCtx->workSpace, tableSpace);
diff --git a/visual/2013/zstd/zstd.vcxproj b/visual/2013/zstd/zstd.vcxproj
index 8e2c4779..d31994d9 100755
--- a/visual/2013/zstd/zstd.vcxproj
+++ b/visual/2013/zstd/zstd.vcxproj
@@ -164,7 +164,7 @@
WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
false
true
- /analyze:stacksize19000 %(AdditionalOptions)
+ /analyze:stacksize25000 %(AdditionalOptions)
Console