rtnl fd check

Prevent accidental damage from rtnl library if fd is uninitialized.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
diff --git a/ip/ip.c b/ip/ip.c
index c29d2f3..091e9ef 100644
--- a/ip/ip.c
+++ b/ip/ip.c
@@ -36,7 +36,7 @@
 char * _SL_ = NULL;
 char *batch_file = NULL;
 int force = 0;
-struct rtnl_handle rth;
+struct rtnl_handle rth = { .fd = -1 };
 
 static void usage(void) __attribute__((noreturn));
 
diff --git a/lib/libnetlink.c b/lib/libnetlink.c
index 67951fe..5c6a4dc 100644
--- a/lib/libnetlink.c
+++ b/lib/libnetlink.c
@@ -27,7 +27,10 @@
 
 void rtnl_close(struct rtnl_handle *rth)
 {
-	close(rth->fd);
+	if (rth->fd >= 0) {
+		close(rth->fd);
+		rth->fd = -1;
+	}
 }
 
 int rtnl_open_byproto(struct rtnl_handle *rth, unsigned subscriptions,