babeld: avoid segfault (bug 706).
diff --git a/babeld/babel_interface.h b/babeld/babel_interface.h
index 7a6efb9..d9fb9a4 100644
--- a/babeld/babel_interface.h
+++ b/babeld/babel_interface.h
@@ -90,12 +90,15 @@
 #define BABEL_IF_SPLIT_HORIZON (1 << 2)
 #define BABEL_IF_LQ            (1 << 3)
 #define BABEL_IF_IS_ENABLE     (1 << 4)
+#define BABEL_IF_IS_UP         (1 << 5)
 
 static inline int
 if_up(struct interface *ifp)
 {
-    return (if_is_up(ifp) &&
+    return (if_is_operative(ifp) &&
             ifp->connected != NULL &&
+            babel_get_if_nfo(ifp) != NULL &&
+            (babel_get_if_nfo(ifp)->flags & BABEL_IF_IS_UP) &&
             (babel_get_if_nfo(ifp)->flags & BABEL_IF_IS_ENABLE));
 }