diff --git a/ip/xfrm_monitor.c b/ip/xfrm_monitor.c index 153621f7..baa46106 100644 --- a/ip/xfrm_monitor.c +++ b/ip/xfrm_monitor.c @@ -152,9 +152,10 @@ static int xfrm_accept_msg(const struct sockaddr_nl *who, return 0; } +extern struct rtnl_handle rth; + int do_xfrm_monitor(int argc, char **argv) { - struct rtnl_handle rth; char *file = NULL; unsigned groups = ~((unsigned)0); /* XXX */ int lacquire=0; @@ -162,6 +163,8 @@ int do_xfrm_monitor(int argc, char **argv) int lpolicy=0; int lsa=0; + rtnl_close(&rth); + while (argc > 0) { if (matches(*argv, "file") == 0) { NEXT_ARG();