From: Patrick McHardy Date: Wed, 9 Jan 2008 18:41:58 +0000 (+0100) Subject: [PATCH] libnl cache management leak X-Git-Tag: libnl2_0~163 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c6609efc0fdcb1705cf157b4f383152edb7505c6;p=libnl [PATCH] libnl cache management leak --- diff --git a/lib/cache.c b/lib/cache.c index c1fbea6..285bc31 100644 --- a/lib/cache.c +++ b/lib/cache.c @@ -505,8 +505,11 @@ static int cache_include(struct nl_cache *cache, struct nl_object *obj, old = nl_cache_search(cache, obj); if (old) { nl_cache_remove(old); - if (type->mt_act == NL_ACT_DEL && cb) - cb(cache, old, NL_ACT_DEL); + if (type->mt_act == NL_ACT_DEL) { + if (cb) + cb(cache, old, NL_ACT_DEL); + nl_object_put(old); + } } if (type->mt_act == NL_ACT_NEW) {