Module: wine Branch: master Commit: 8fb7fdd0295df22b19bc9ee55431ff54521a6ee8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8fb7fdd0295df22b19bc9ee554...
Author: Hib Eris hib@hiberis.nl Date: Wed Jun 10 17:13:59 2009 +0200
msi: Fix a crash when freeing memory.
---
dlls/msi/streams.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/msi/streams.c b/dlls/msi/streams.c index 2d869cc..12f707e 100644 --- a/dlls/msi/streams.c +++ b/dlls/msi/streams.c @@ -60,7 +60,7 @@ static BOOL streams_set_table_size(MSISTREAMSVIEW *sv, UINT size) if (size >= sv->max_streams) { sv->max_streams *= 2; - sv->streams = msi_realloc(sv->streams, sv->max_streams * sizeof(STREAM *)); + sv->streams = msi_realloc_zero(sv->streams, sv->max_streams * sizeof(STREAM *)); if (!sv->streams) return FALSE; } @@ -387,7 +387,7 @@ static UINT STREAMS_delete(struct tagMSIVIEW *view)
for (i = 0; i < sv->num_rows; i++) { - if (sv->streams[i]->stream) + if (sv->streams[i] && sv->streams[i]->stream) IStream_Release(sv->streams[i]->stream); msi_free(sv->streams[i]); } @@ -462,7 +462,7 @@ static INT add_streams_to_table(MSISTREAMSVIEW *sv) return -1;
sv->max_streams = 1; - sv->streams = msi_alloc(sizeof(STREAM *)); + sv->streams = msi_alloc_zero(sizeof(STREAM *)); if (!sv->streams) return -1;