summaryrefslogtreecommitdiffstats
path: root/src/nl-addr-list.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nl-addr-list.c')
-rw-r--r--src/nl-addr-list.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/nl-addr-list.c b/src/nl-addr-list.c
index 9b045a5..20995a8 100644
--- a/src/nl-addr-list.c
+++ b/src/nl-addr-list.c
@@ -41,7 +41,7 @@ static void print_usage(void)
static char *prefix;
-void print_prefix(struct nl_dump_params *p, int line)
+static void print_prefix(struct nl_dump_params *p, int line)
{
if (prefix)
nl_dump(p, "%s", prefix);
@@ -65,7 +65,7 @@ static void env_dump(struct nl_object *obj, void *arg)
nl_addr2str(rtnl_addr_get_local(addr), buf, sizeof(buf)));
nl_dump_line(p, "%s_IFINDEX=%u\n", pfx, rtnl_addr_get_ifindex(addr));
- link_cache = nl_cache_mngt_require("route/link");
+ link_cache = nl_cache_mngt_require_safe("route/link");
if (link_cache)
nl_dump_line(p, "%s_IFNAME=%s\n", pfx,
rtnl_link_i2name(link_cache,
@@ -94,6 +94,9 @@ static void env_dump(struct nl_object *obj, void *arg)
nl_dump_line(p, "%s_CACHEINFO_VALID=%u\n", pfx,
rtnl_addr_get_valid_lifetime(addr));
+ if (link_cache)
+ nl_cache_put(link_cache);
+
#if 0
if (addr->ce_mask & ADDR_ATTR_CACHEINFO) {
struct rtnl_addr_cacheinfo *ci = &addr->a_cacheinfo;