diff --git a/dlls/cabinet/cabinet_main.c b/dlls/cabinet/cabinet_main.c index 7ebe63cce6b..35810e3b659 100644 --- a/dlls/cabinet/cabinet_main.c +++ b/dlls/cabinet/cabinet_main.c @@ -338,7 +338,10 @@ HRESULT WINAPI Extract(SESSION *dest, LPCSTR szCabName) return E_FAIL; if (GetFileAttributesA(dest->Destination) == INVALID_FILE_ATTRIBUTES) - return S_OK; + { + res = S_OK; + goto end; + } /* split the cabinet name into path + name */ str = HeapAlloc(GetProcessHeap(), 0, lstrlenA(szCabName)+1);