diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2014-04-05 14:53:22 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-04-05 14:53:22 +0200 |
commit | c50b5304a40c3c0769f2545fdc044dfaf9042db3 (patch) | |
tree | 0ae36922974af4877aa1ccf6adf8a7b049c8e7fd /libmsi | |
parent | d3ada84932fabb0cc29b47e08e45d9cafcc27f6e (diff) | |
download | msitools-c50b5304a40c3c0769f2545fdc044dfaf9042db3.tar.gz msitools-c50b5304a40c3c0769f2545fdc044dfaf9042db3.tar.xz msitools-c50b5304a40c3c0769f2545fdc044dfaf9042db3.zip |
table: fix two leaks of a record object
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'libmsi')
-rw-r--r-- | libmsi/table.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libmsi/table.c b/libmsi/table.c index 5058ad1..895d5e0 100644 --- a/libmsi/table.c +++ b/libmsi/table.c @@ -1813,8 +1813,10 @@ static unsigned table_view_remove_column(LibmsiView *view, const char *table, un libmsi_record_set_int(rec, 2, number); r = table_view_create(tv->db, szColumns, &columns); - if (r != LIBMSI_RESULT_SUCCESS) + if (r != LIBMSI_RESULT_SUCCESS) { + g_object_unref(rec); return r; + } r = msi_table_find_row((LibmsiTableView *)columns, rec, &row, NULL); if (r != LIBMSI_RESULT_SUCCESS) @@ -1935,8 +1937,10 @@ static unsigned table_view_drop(LibmsiView *view) libmsi_record_set_string(rec, 1, tv->name); r = table_view_create(tv->db, szTables, &tables); - if (r != LIBMSI_RESULT_SUCCESS) + if (r != LIBMSI_RESULT_SUCCESS) { + g_object_unref(rec); return r; + } r = msi_table_find_row((LibmsiTableView *)tables, rec, &row, NULL); if (r != LIBMSI_RESULT_SUCCESS) |