msi: Avoid a crash in STREAMS_delete.
authorHans Leidekker <hans@codeweavers.com>
Fri, 18 Dec 2009 10:02:30 +0000 (11:02 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Fri, 18 Dec 2009 10:47:39 +0000 (11:47 +0100)
dlls/msi/streams.c

index 6b281f4..4825ae6 100644 (file)
@@ -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);