From e379b5075a866b47b8f71fcf631103b51d39a041 Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Sun, 2 Aug 2020 21:56:37 +0200 Subject: [PATCH] snapshot: clear htable on cleanup Signed-off-by: Nikos Mavrogiannopoulos --- src/common/snapshot.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/common/snapshot.c b/src/common/snapshot.c index 1e02bf84..ed633af8 100644 --- a/src/common/snapshot.c +++ b/src/common/snapshot.c @@ -120,6 +120,12 @@ static int snapshot_add_entry(snapshot_t * snapshot, const char *filename, return retval; } +static int talloc_clear_htable(snapshot_t *s) +{ + htable_clear(&s->ht); + return 0; +} + int snapshot_init(void *pool, struct snapshot_t **snapshot, const char *prefix) { snapshot_t *new_snapshot = NULL; @@ -141,6 +147,7 @@ int snapshot_init(void *pool, struct snapshot_t **snapshot, const char *prefix) goto cleanup; htable_init(&new_snapshot->ht, snapshot_rehash, new_snapshot); + talloc_set_destructor(new_snapshot, talloc_clear_htable); *snapshot = new_snapshot; new_snapshot = NULL;