The following commit has been merged in the master branch:
commit b53a6a7e6651e82eeb8cfafa1981b1c5d33b4e04
Author: Guillem Jover <[email protected]>
Date: Wed Feb 11 03:31:24 2009 +0200
Add new pkg_array_free function
Use it to free the arrays after use, so that we do not leak.
diff --git a/src/pkg-array.c b/src/pkg-array.c
index d5504a0..9599a3b 100644
--- a/src/pkg-array.c
+++ b/src/pkg-array.c
@@ -66,3 +66,11 @@ pkg_array_sort(struct pkg_array *a, pkg_sorter_func
*pkg_sort)
qsort(a->pkgs, a->n_pkgs, sizeof(a->pkgs[0]), pkg_sort);
}
+void
+pkg_array_free(struct pkg_array *a)
+{
+ a->n_pkgs = 0;
+ free(a->pkgs);
+ a->pkgs = NULL;
+}
+
diff --git a/src/pkg-array.h b/src/pkg-array.h
index b8d336f..f783458 100644
--- a/src/pkg-array.h
+++ b/src/pkg-array.h
@@ -35,6 +35,7 @@ struct pkg_array {
void pkg_array_init_from_db(struct pkg_array *a);
void pkg_array_sort(struct pkg_array *a, pkg_sorter_func *pkg_sort);
+void pkg_array_free(struct pkg_array *a);
DPKG_END_DECLS
diff --git a/src/query.c b/src/query.c
index 579bd6f..c42f688 100644
--- a/src/query.c
+++ b/src/query.c
@@ -181,6 +181,8 @@ void listpackages(const char *const *argv) {
if (ferror(stdout)) werr("stdout");
if (ferror(stderr)) werr("stderr");
+
+ pkg_array_free(&array);
modstatdb_shutdown();
}
@@ -427,6 +429,8 @@ void showpackages(const char *const *argv) {
if (ferror(stdout)) werr("stdout");
if (ferror(stderr)) werr("stderr");
+
+ pkg_array_free(&array);
freeformat(fmt);
modstatdb_shutdown();
}
diff --git a/src/select.c b/src/select.c
index 426e07f..2a2f2a7 100644
--- a/src/select.c
+++ b/src/select.c
@@ -78,6 +78,8 @@ void getselections(const char *const *argv) {
}
if (ferror(stdout)) werr("stdout");
if (ferror(stderr)) werr("stderr");
+
+ pkg_array_free(&array);
}
void setselections(const char *const *argv) {
--
dpkg's main repository
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]