X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fdevices%2Fnetlink.c;h=b05daf2674a1908acbddd34f7c4102b9b3000774;hb=f953dfc8e01426ce93588e9013c112e48a9a8463;hp=b2a651348a34e359ea2e5a100508f99d71eaecdb;hpb=088f0e221c05b7b1cd59b61442eaf595e22e2fef;p=vpp.git diff --git a/src/vnet/devices/netlink.c b/src/vnet/devices/netlink.c index b2a651348a3..b05daf2674a 100644 --- a/src/vnet/devices/netlink.c +++ b/src/vnet/devices/netlink.c @@ -48,16 +48,16 @@ vnet_netlink_set_if_attr (int ifindex, unsigned short rta_type, void *data, memset (&req, 0, sizeof (req)); if ((sock = socket (AF_NETLINK, SOCK_RAW, NETLINK_ROUTE)) == -1) - { - err = clib_error_return_unix (0, "socket(AF_NETLINK)"); - goto error; - } + return clib_error_return_unix (0, "socket(AF_NETLINK)"); ra.nl_family = AF_NETLINK; ra.nl_pid = getpid (); if ((bind (sock, (struct sockaddr *) &ra, sizeof (ra))) == -1) - return clib_error_return_unix (0, "bind"); + { + err = clib_error_return_unix (0, "bind"); + goto error; + } req.nh.nlmsg_len = NLMSG_LENGTH (sizeof (struct ifinfomsg)); req.nh.nlmsg_flags = NLM_F_REQUEST; @@ -75,6 +75,7 @@ vnet_netlink_set_if_attr (int ifindex, unsigned short rta_type, void *data, err = clib_error_return_unix (0, "send"); error: + close (sock); return err; }