[1/2] msi: Avoid a crash in STREAMS_delete.

Hans Leidekker hans at codeweavers.com
Fri Dec 18 04:02:30 CST 2009


---
 dlls/msi/streams.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/dlls/msi/streams.c b/dlls/msi/streams.c
index 6b281f4..4825ae6 100644
--- a/dlls/msi/streams.c
+++ b/dlls/msi/streams.c
@@ -400,10 +400,14 @@ static UINT STREAMS_delete(struct tagMSIVIEW *view)
 
     for (i = 0; i < sv->num_rows; i++)
     {
-        if (sv->streams[i] && sv->streams[i]->stream)
-            IStream_Release(sv->streams[i]->stream);
-        msi_free(sv->streams[i]->name);
-        msi_free(sv->streams[i]);
+        if (sv->streams[i])
+        {
+            if (sv->streams[i]->stream)
+                IStream_Release(sv->streams[i]->stream);
+
+            msi_free(sv->streams[i]->name);
+            msi_free(sv->streams[i]);
+        }
     }
 
     msi_free(sv->streams);
-- 
1.6.3.3





More information about the wine-patches mailing list