Finish razor_transaction_destroy some more.
authorKristian Høgsberg <krh@redhat.com>
Mon, 7 Apr 2008 04:02:01 +0000 (00:02 -0400)
committerKristian Høgsberg <krh@redhat.com>
Mon, 7 Apr 2008 04:02:01 +0000 (00:02 -0400)
razor.c
types.c
types.h

diff --git a/razor.c b/razor.c
index def7174..267abcc 100644 (file)
--- a/razor.c
+++ b/razor.c
@@ -2946,6 +2946,10 @@ razor_transaction_destroy(struct razor_transaction *trans)
                     p->state == RAZOR_PACKAGE_REMOVE_NOT_INSTALLED))
                        free((char *)p->name);
        }
+
+       array_release(&trans->packages);
+       bitarray_release(&trans->syspkgs);
+       bitarray_release(&trans->uppkgs);
        free(trans);
 
        /* FIXME: free upstream if it was created as an empty set */
diff --git a/types.c b/types.c
index 48dfc6f..a163e85 100644 (file)
--- a/types.c
+++ b/types.c
@@ -256,6 +256,12 @@ bitarray_init(struct bitarray *bitarray, int size, int initial_value)
 }
 
 void
+bitarray_release(struct bitarray *bitarray)
+{
+       free(bitarray->bits);
+}
+
+void
 bitarray_set(struct bitarray *bitarray, int bit, int value)
 {
        if (value)
diff --git a/types.h b/types.h
index 7598bbb..6e36754 100644 (file)
--- a/types.h
+++ b/types.h
@@ -51,6 +51,7 @@ struct bitarray {
 };
 
 void bitarray_init(struct bitarray *bitarray, int size, int intial_value);
+void bitarray_release(struct bitarray *bitarray);
 void bitarray_set(struct bitarray *bitarray, int bit, int value);
 int bitarray_get(struct bitarray *bitarray, int bit);