diff --git a/dlls/msi/streams.c b/dlls/msi/streams.c index 6b281f4bc15..4825ae67b18 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);