=?UTF-8?Q?Andr=C3=A9=20Hentschel=20?=: ole32/tests: Don' t crash when StgOpenStorage fails.

Alexandre Julliard julliard at winehq.org
Wed Nov 27 14:50:05 CST 2013


Module: wine
Branch: master
Commit: 04f5160c93af4fbb509993f955482a909940fd44
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=04f5160c93af4fbb509993f955482a909940fd44

Author: André Hentschel <nerv at dawncrow.de>
Date:   Tue Nov 26 23:48:59 2013 +0100

ole32/tests: Don't crash when StgOpenStorage fails.

---

 dlls/ole32/tests/storage32.c |   22 ++++++++++++----------
 1 files 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);
 }




More information about the wine-cvs mailing list