From 480e356f01a7d2ed9435cb6a5d0facecfa8acabc Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Tue, 19 Mar 2019 21:38:00 +0100 Subject: [PATCH] bitset: fix memory leaks Reported by Bruno Haible. https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html * lib/bitset/vector.c (vbitset_free): New. (vbitset_vtable): Use it. --- ChangeLog | 8 ++++++++ lib/bitset/vector.c | 9 ++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 88a3a40e11..62c522e654 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2019-03-19 Akim Demaille + + bitset: fix memory leaks + Reported by Bruno Haible. + https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html + * lib/bitset/vector.c (vbitset_free): New. + (vbitset_vtable): Use it. + 2019-03-19 Akim Demaille bitset: minor changes diff --git a/lib/bitset/vector.c b/lib/bitset/vector.c index 0623651dc4..54f148d568 100644 --- a/lib/bitset/vector.c +++ b/lib/bitset/vector.c @@ -928,6 +928,13 @@ vbitset_copy (bitset dst, bitset src) } +static void +vbitset_free (bitset bset) +{ + free (VBITSET_WORDS (bset)); +} + + /* Vector of operations for multiple word bitsets. */ struct bitset_vtable vbitset_vtable = { vbitset_set, @@ -961,7 +968,7 @@ struct bitset_vtable vbitset_vtable = { vbitset_or_and_cmp, vbitset_list, vbitset_list_reverse, - NULL, + vbitset_free, BITSET_VECTOR }; -- 2.39.5