The following commit has been merged in the master branch: commit b53a6a7e6651e82eeb8cfafa1981b1c5d33b4e04 Author: Guillem Jover <guil...@debian.org> 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 debian-dpkg-cvs-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org