diff --git a/src/Deflate.c b/src/Deflate.c index 812b7d20b..6b78b6b97 100644 --- a/src/Deflate.c +++ b/src/Deflate.c @@ -512,8 +512,7 @@ void Inflate_Process(struct InflateState* state) { nlen = Inflate_ReadBits(state, 16); if (len != (nlen ^ 0xFFFFUL)) { - Inflate_Fail(state, INF_ERR_BLOCKTYPE); - return; + Inflate_Fail(state, INF_ERR_BLOCKTYPE); return; } state->Index = len; /* Reuse for 'uncompressed length' */ state->State = INFLATE_STATE_UNCOMPRESSED_DATA; @@ -625,8 +624,7 @@ void Inflate_Process(struct InflateState* state) { count = state->NumLits + state->NumDists; if (state->Index + repeatCount > count) { - Inflate_Fail(state, INF_ERR_REPEAT_END); - return; + Inflate_Fail(state, INF_ERR_REPEAT_END); return; } Mem_Set(&state->Buffer[state->Index], repeatValue, repeatCount); diff --git a/src/Game.c b/src/Game.c index 3a93cc8c0..bbf62b024 100644 --- a/src/Game.c +++ b/src/Game.c @@ -342,6 +342,10 @@ static void LoadPlugin(const String* path, void* obj) { /* ignore accepted.txt, deskop.ini, .pdb files, etc */ if (!String_CaselessEnds(path, &DynamicLib_Ext)) return; + /* don't try to load 32 bit plugins on 64 bit OS or vice versa */ + if (sizeof(void*) == 4 && String_ContainsConst(path, "_64.")) return; + if (sizeof(void*) == 8 && String_ContainsConst(path, "_32.")) return; + lib = DynamicLib_Load2(path); if (!lib) { Logger_DynamicLibWarn("loading", path); return; }