msi: Make sure to free the extra row data when deleting a row.
This commit is contained in:
parent
70592b59e7
commit
c20902314b
|
@ -1754,15 +1754,14 @@ static UINT TABLE_delete_row( struct tagMSIVIEW *view, UINT row )
|
||||||
tv->columns[i].hash_table = NULL;
|
tv->columns[i].hash_table = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( row == num_rows - 1 )
|
|
||||||
return ERROR_SUCCESS;
|
|
||||||
|
|
||||||
for (i = row + 1; i < num_rows; i++)
|
for (i = row + 1; i < num_rows; i++)
|
||||||
{
|
{
|
||||||
memcpy(tv->table->data[i - 1], tv->table->data[i], tv->row_size);
|
memcpy(tv->table->data[i - 1], tv->table->data[i], tv->row_size);
|
||||||
tv->table->data_persistent[i - 1] = tv->table->data_persistent[i];
|
tv->table->data_persistent[i - 1] = tv->table->data_persistent[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
msi_free(tv->table->data[num_rows - 1]);
|
||||||
|
|
||||||
return ERROR_SUCCESS;
|
return ERROR_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue