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 ecf9ff9..e310711 100644
--- a/lib/if.c
+++ b/lib/if.c
@@ -205,7 +205,8 @@
 {
   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 @@
 {
   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;
 }