diff --git a/virtualsmartcard/src/vpcd/vpcd.c b/virtualsmartcard/src/vpcd/vpcd.c index 5e91f2a..3a88efc 100644 --- a/virtualsmartcard/src/vpcd/vpcd.c +++ b/virtualsmartcard/src/vpcd/vpcd.c @@ -110,8 +110,10 @@ static int opensock(unsigned short port) server_sockaddr.sin_addr.s_addr = htonl(INADDR_ANY); if (bind(sock, (struct sockaddr *) &server_sockaddr, - sizeof server_sockaddr) != 0) + sizeof server_sockaddr) != 0) { + close(sock); return -1; + } if (listen(sock, 0) != 0) { close(sock);