Ver código fonte

evapi: close server socket if fnctl() fails

Daniel-Constantin Mierla 8 anos atrás
pai
commit
23ee80c8d7
1 arquivos alterados com 2 adições e 0 exclusões
  1. 2 0
      src/modules/evapi/evapi_dispatch.c

+ 2 - 0
src/modules/evapi/evapi_dispatch.c

@@ -623,10 +623,12 @@ int evapi_run_dispatcher(char *laddr, int lport)
 	fflags = fcntl(evapi_srv_sock, F_GETFL);
 	fflags = fcntl(evapi_srv_sock, F_GETFL);
 	if(fflags<0) {
 	if(fflags<0) {
 		LM_ERR("failed to get the srv socket flags\n");
 		LM_ERR("failed to get the srv socket flags\n");
+		close(evapi_srv_sock);
 		return -1;
 		return -1;
 	}
 	}
 	if (fcntl(evapi_srv_sock, F_SETFL, fflags | O_NONBLOCK)<0) {
 	if (fcntl(evapi_srv_sock, F_SETFL, fflags | O_NONBLOCK)<0) {
 		LM_ERR("failed to set srv socket flags\n");
 		LM_ERR("failed to set srv socket flags\n");
+		close(evapi_srv_sock);
 		return -1;
 		return -1;
 	}
 	}