ole32/tests: Don't crash when StgOpenStorage fails
André Hentschel
nerv at dawncrow.de
Tue Nov 26 16:48:59 CST 2013
Mostly for NT: https://test.winehq.org/data/tests/ole32:storage32.html
---
dlls/ole32/tests/storage32.c | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/dlls/ole32/tests/storage32.c b/dlls/ole32/tests/storage32.c
index 61744a9..06d2fa4 100644
--- a/dlls/ole32/tests/storage32.c
+++ b/dlls/ole32/tests/storage32.c
@@ -3082,19 +3082,21 @@ if (hr == S_OK) {
/* writer mode */
hr = StgOpenStorage(fileW, NULL, STGM_DIRECT_SWMR | STGM_READWRITE | STGM_SHARE_DENY_WRITE, NULL, 0, &stg);
ok(hr == S_OK, "got %08x\n", hr);
+ if(hr == S_OK)
+ {
+ ref = IStorage_AddRef(stg);
+ IStorage_Release(stg);
- ref = IStorage_AddRef(stg);
- IStorage_Release(stg);
-
- hr = IStorage_QueryInterface(stg, &IID_IDirectWriterLock, (void**)&dwlock);
- ok(hr == S_OK, "got %08x\n", hr);
+ hr = IStorage_QueryInterface(stg, &IID_IDirectWriterLock, (void**)&dwlock);
+ ok(hr == S_OK, "got %08x\n", hr);
- ref2 = IStorage_AddRef(stg);
- IStorage_Release(stg);
- ok(ref2 == ref + 1, "got %u\n", ref2);
+ ref2 = IStorage_AddRef(stg);
+ IStorage_Release(stg);
+ ok(ref2 == ref + 1, "got %u\n", ref2);
- IDirectWriterLock_Release(dwlock);
- IStorage_Release(stg);
+ IDirectWriterLock_Release(dwlock);
+ IStorage_Release(stg);
+ }
DeleteFileW(fileW);
}
--
1.8.1.2
More information about the wine-patches
mailing list