X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=vlib-api%2Fvlibsocket%2Fsocksvr_vlib.c;h=dc8c63ebbaf554e988f755691ad0cf4315f41b3e;hb=296b20162affd0b3bb4168ced045fe7bcb15b03b;hp=91c6bfde674c94f62f9e329e74c2cc6d8d647765;hpb=ac0798db359eb0de2eae1a54b63dfaa9534984c8;p=vpp.git diff --git a/vlib-api/vlibsocket/socksvr_vlib.c b/vlib-api/vlibsocket/socksvr_vlib.c index 91c6bfde674..dc8c63ebbaf 100644 --- a/vlib-api/vlibsocket/socksvr_vlib.c +++ b/vlib-api/vlibsocket/socksvr_vlib.c @@ -575,12 +575,14 @@ socksvr_api_init (vlib_main_t * vm) rv = ioctl (sockfd, FIONBIO, &one); if (rv < 0) { + close (sockfd); return clib_error_return_unix (0, "FIONBIO"); } rv = setsockopt (sockfd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof (one)); if (rv < 0) { + close (sockfd); return clib_error_return_unix (0, "SO_REUSEADDR"); } @@ -602,13 +604,14 @@ socksvr_api_init (vlib_main_t * vm) if (bind (sockfd, (struct sockaddr *) &serv_addr, sizeof (serv_addr)) < 0) { + close (sockfd); return clib_error_return_unix (0, "bind"); } rv = listen (sockfd, 5); if (rv < 0) { - close(sockfd); + close (sockfd); return clib_error_return_unix (0, "listen"); }