From: Paul Jakma Date: Thu, 6 Aug 2009 11:08:50 +0000 (+0100) Subject: lib: if_lookup_by_name should be more robust to null argument X-Git-Tag: frr-2.0-rc1~2209 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=3e4ee9591aa2d84f01ae478afd273ac55add0a1c;p=mirror%2Ffrr.git lib: if_lookup_by_name should be more robust to null argument * if.c: (if_lookup_by_name) shouldn't crash just cause we got a NULL name --- diff --git a/lib/if.c b/lib/if.c index ecf9ff904d..e31071164c 100644 --- a/lib/if.c +++ b/lib/if.c @@ -205,7 +205,8 @@ ifname2ifindex (const char *name) { struct interface *ifp; - return ((ifp = if_lookup_by_name(name)) != NULL) ? ifp->ifindex : 0; + return ((ifp = if_lookup_by_name(name)) != NULL) ? ifp->ifindex + : IFINDEX_INTERNAL; } /* Interface existance check by interface name. */ @@ -214,12 +215,13 @@ if_lookup_by_name (const char *name) { struct listnode *node; struct interface *ifp; - - for (ALL_LIST_ELEMENTS_RO (iflist, node, ifp)) - { - if (strcmp(name, ifp->name) == 0) - return ifp; - } + + if (name) + for (ALL_LIST_ELEMENTS_RO (iflist, node, ifp)) + { + if (strcmp(name, ifp->name) == 0) + return ifp; + } return NULL; }