diff --git a/dlls/msi/create.c b/dlls/msi/create.c index be4736c1781..b1ad8c794c0 100644 --- a/dlls/msi/create.c +++ b/dlls/msi/create.c @@ -212,9 +212,9 @@ static UINT CREATE_delete( struct tagMSIVIEW *view ) HeapFree( GetProcessHeap(), 0, t->colname ); HeapFree( GetProcessHeap(), 0, t ); } + msiobj_release( &cv->db->hdr ); HeapFree( GetProcessHeap(), 0, cv->name ); HeapFree( GetProcessHeap(), 0, cv ); - msiobj_release( &cv->db->hdr ); return ERROR_SUCCESS; } diff --git a/dlls/msi/distinct.c b/dlls/msi/distinct.c index 872b87a9eb7..536bdc63150 100644 --- a/dlls/msi/distinct.c +++ b/dlls/msi/distinct.c @@ -241,8 +241,8 @@ static UINT DISTINCT_delete( struct tagMSIVIEW *view ) if( dv->translation ) HeapFree( GetProcessHeap(), 0, dv->translation ); - HeapFree( GetProcessHeap(), 0, dv ); msiobj_release( &dv->db->hdr ); + HeapFree( GetProcessHeap(), 0, dv ); return ERROR_SUCCESS; } diff --git a/dlls/msi/insert.c b/dlls/msi/insert.c index 8c7da568331..d00a4d7b886 100644 --- a/dlls/msi/insert.c +++ b/dlls/msi/insert.c @@ -179,8 +179,8 @@ static UINT INSERT_delete( struct tagMSIVIEW *view ) if( sv ) sv->ops->delete( sv ); delete_value_list( iv->vals ); - HeapFree( GetProcessHeap(), 0, iv ); msiobj_release( &iv->db->hdr ); + HeapFree( GetProcessHeap(), 0, iv ); return ERROR_SUCCESS; } diff --git a/dlls/msi/order.c b/dlls/msi/order.c index f73e6a0d273..559a794fef2 100644 --- a/dlls/msi/order.c +++ b/dlls/msi/order.c @@ -244,8 +244,8 @@ static UINT ORDER_delete( struct tagMSIVIEW *view ) HeapFree( GetProcessHeap(), 0, ov->reorder ); ov->reorder = NULL; - HeapFree( GetProcessHeap(), 0, ov ); msiobj_release( &ov->db->hdr ); + HeapFree( GetProcessHeap(), 0, ov ); return ERROR_SUCCESS; } diff --git a/dlls/msi/update.c b/dlls/msi/update.c index b9f282bc17a..0066256c09c 100644 --- a/dlls/msi/update.c +++ b/dlls/msi/update.c @@ -171,8 +171,8 @@ static UINT UPDATE_delete( struct tagMSIVIEW *view ) if( wv ) wv->ops->delete( wv ); delete_value_list( uv->vals ); - HeapFree( GetProcessHeap(), 0, uv ); msiobj_release( &uv->db->hdr ); + HeapFree( GetProcessHeap(), 0, uv ); return ERROR_SUCCESS; } diff --git a/dlls/msi/where.c b/dlls/msi/where.c index eaada21aaf2..683ada45711 100644 --- a/dlls/msi/where.c +++ b/dlls/msi/where.c @@ -336,8 +336,8 @@ static UINT WHERE_delete( struct tagMSIVIEW *view ) if( wv->cond ) delete_expr( wv->cond ); - HeapFree( GetProcessHeap(), 0, wv ); msiobj_release( &wv->db->hdr ); + HeapFree( GetProcessHeap(), 0, wv ); return ERROR_SUCCESS; }