summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/cache_mngr.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/cache_mngr.c b/lib/cache_mngr.c
index cf5a951..0be55bc 100644
--- a/lib/cache_mngr.c
+++ b/lib/cache_mngr.c
@@ -378,9 +378,12 @@ void nl_cache_mngr_free(struct nl_cache_mngr *mngr)
if (mngr->cm_handle)
nl_close(mngr->cm_handle);
- for (i = 0; i < mngr->cm_nassocs; i++)
- if (mngr->cm_assocs[i].ca_cache)
+ for (i = 0; i < mngr->cm_nassocs; i++) {
+ if (mngr->cm_assocs[i].ca_cache) {
+ nl_cache_mngt_unprovide(mngr->cm_assocs[i].ca_cache);
nl_cache_free(mngr->cm_assocs[i].ca_cache);
+ }
+ }
free(mngr->cm_assocs);
free(mngr);