MSI: fix refcounting of streams

Mike McCormack mike at codeweavers.com
Mon Jun 28 18:58:46 CDT 2004


ChangeLog:
* fix refcounting of streams
-------------- next part --------------
diff -ur dlls/msi.old/msiquery.c dlls/msi/msiquery.c
--- dlls/msi.old/msiquery.c	2004-06-28 18:56:46.000000000 -0500
+++ dlls/msi/msiquery.c	2004-06-28 18:57:22.000000000 -0500
@@ -235,7 +235,10 @@
 
                     db_get_raw_stream( query->db, full_name, &stm );
                     if( stm )
+                    {
                         MSI_RecordSetIStream( handle, i, stm );
+                        IStream_Release( stm );
+                    }
                     else
                         ERR("failed to get stream\n");
                     HeapFree( GetProcessHeap(), 0, sval );
diff -ur dlls/msi.old/record.c dlls/msi/record.c
--- dlls/msi.old/record.c	2004-06-28 18:56:46.000000000 -0500
+++ dlls/msi/record.c	2004-06-28 18:57:22.000000000 -0500
@@ -86,7 +86,7 @@
     MSIRECORD *rec = (MSIRECORD *) arg;
     UINT i;
 
-    for( i=0; i<rec->count; i++ )
+    for( i=0; i<=rec->count; i++ )
         MSI_FreeField( &rec->fields[i] );
 }
 


More information about the wine-patches mailing list