summaryrefslogtreecommitdiff
path: root/lib/if_rmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/if_rmap.c')
-rw-r--r--lib/if_rmap.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/if_rmap.c b/lib/if_rmap.c
index 26a6d8c55b..f2d76c69d6 100644
--- a/lib/if_rmap.c
+++ b/lib/if_rmap.c
@@ -64,11 +64,13 @@ if_rmap_lookup (const char *ifname)
struct if_rmap *if_rmap;
/* temporary copy */
- key.ifname = XSTRDUP (MTYPE_IF_RMAP_NAME, ifname);
+ key.ifname = (ifname) ? XSTRDUP (MTYPE_IF_RMAP_NAME, ifname) : NULL;
if_rmap = hash_lookup (ifrmaphash, &key);
- XFREE(MTYPE_IF_RMAP_NAME, key.ifname);
+ if (key.ifname)
+ XFREE(MTYPE_IF_RMAP_NAME, key.ifname);
+
return if_rmap;
}
@@ -103,9 +105,10 @@ if_rmap_get (const char *ifname)
struct if_rmap *ret;
/* temporary copy */
- key.ifname = XSTRDUP (MTYPE_IF_RMAP_NAME, ifname);
+ key.ifname = (ifname) ? XSTRDUP (MTYPE_IF_RMAP_NAME, ifname) : NULL;
ret = hash_get (ifrmaphash, &key, if_rmap_hash_alloc);
+
if (key.ifname)
XFREE(MTYPE_IF_RMAP_NAME, key.ifname);