diff --git a/reactos/dll/appcompat/apphelp/hsdb.c b/reactos/dll/appcompat/apphelp/hsdb.c index fe58f2e03a0..805ac5c5adc 100644 --- a/reactos/dll/appcompat/apphelp/hsdb.c +++ b/reactos/dll/appcompat/apphelp/hsdb.c @@ -65,7 +65,9 @@ HSDB WINAPI SdbInitDatabase(DWORD flags, LPCWSTR path) case SDB_DATABASE_MAIN_SHIM: name = shim; break; case SDB_DATABASE_MAIN_MSI: name = msi; break; case SDB_DATABASE_MAIN_DRIVERS: name = drivers; break; - default: return NULL; + default: + SdbReleaseDatabase(sdb); + return NULL; } SdbGetAppPatchDir(NULL, buffer, 128); memcpy(buffer + lstrlenW(buffer), name, SdbpStrlen(name)); diff --git a/reactos/dll/appcompat/shims/shimlib/implement_shim.inl b/reactos/dll/appcompat/shims/shimlib/implement_shim.inl index 186cdf87711..f784caa2758 100644 --- a/reactos/dll/appcompat/shims/shimlib/implement_shim.inl +++ b/reactos/dll/appcompat/shims/shimlib/implement_shim.inl @@ -39,7 +39,8 @@ PHOOKAPI WINAPI SHIM_OBJ_NAME(GetHookAPIs)(DWORD fdwReason, PCSTR pszCmdLine, PD SHIM_OBJ_NAME(g_szCommandLine) = ""; } SHIM_OBJ_NAME(g_pAPIHooks) = ShimLib_ShimMalloc(sizeof(HOOKAPI) * SHIM_NUM_HOOKS); - ZeroMemory(SHIM_OBJ_NAME(g_pAPIHooks), sizeof(HOOKAPI) * SHIM_NUM_HOOKS); + if (SHIM_NUM_HOOKS) + ZeroMemory(SHIM_OBJ_NAME(g_pAPIHooks), sizeof(HOOKAPI) * SHIM_NUM_HOOKS); *pdwHookCount = SHIM_NUM_HOOKS; #ifdef SHIM_NOTIFY_FN