James Hawkins : msi: Make sure to free the extra row data when deleting a row.

Alexandre Julliard julliard at winehq.org
Tue Dec 8 11:10:36 CST 2009


Module: wine
Branch: master
Commit: c20902314b2d673a6f85fbcbd9b24a3ad264afbe
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c20902314b2d673a6f85fbcbd9b24a3ad264afbe

Author: James Hawkins <truiken at gmail.com>
Date:   Mon Dec  7 19:54:37 2009 -0800

msi: Make sure to free the extra row data when deleting a row.

---

 dlls/msi/table.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/dlls/msi/table.c b/dlls/msi/table.c
index fa32a04..a0317da 100644
--- a/dlls/msi/table.c
+++ b/dlls/msi/table.c
@@ -1754,15 +1754,14 @@ static UINT TABLE_delete_row( struct tagMSIVIEW *view, UINT row )
         tv->columns[i].hash_table = NULL;
     }
 
-    if ( row == num_rows - 1 )
-        return ERROR_SUCCESS;
-
     for (i = row + 1; i < num_rows; i++)
     {
         memcpy(tv->table->data[i - 1], tv->table->data[i], tv->row_size);
         tv->table->data_persistent[i - 1] = tv->table->data_persistent[i];
     }
 
+    msi_free(tv->table->data[num_rows - 1]);
+
     return ERROR_SUCCESS;
 }
 




More information about the wine-cvs mailing list