Commit edc75fa4 authored by Christian Beier's avatar Christian Beier

IPv6 support for LibVNCServer, part onepointseven: Plug a memleak.

We have to properly free the addrinfo struct when jumping out of the
function.
parent b7e043ab
...@@ -893,6 +893,7 @@ rfbListenOnTCP6Port(int port, ...@@ -893,6 +893,7 @@ rfbListenOnTCP6Port(int port,
if (setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, (char *)&one, sizeof(one)) < 0) { if (setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, (char *)&one, sizeof(one)) < 0) {
rfbLogPerror("rfbListenOnTCP6Port error in setsockopt IPV6_V6ONLY"); rfbLogPerror("rfbListenOnTCP6Port error in setsockopt IPV6_V6ONLY");
closesocket(sock); closesocket(sock);
freeaddrinfo(servinfo);
return -1; return -1;
} }
#endif #endif
...@@ -900,6 +901,7 @@ rfbListenOnTCP6Port(int port, ...@@ -900,6 +901,7 @@ rfbListenOnTCP6Port(int port,
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&one, sizeof(one)) < 0) { if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&one, sizeof(one)) < 0) {
rfbLogPerror("rfbListenOnTCP6Port: error in setsockopt SO_REUSEADDR"); rfbLogPerror("rfbListenOnTCP6Port: error in setsockopt SO_REUSEADDR");
closesocket(sock); closesocket(sock);
freeaddrinfo(servinfo);
return -1; return -1;
} }
...@@ -913,6 +915,7 @@ rfbListenOnTCP6Port(int port, ...@@ -913,6 +915,7 @@ rfbListenOnTCP6Port(int port,
if (p == NULL) { if (p == NULL) {
rfbLogPerror("rfbListenOnTCP6Port: error in bind IPv6 socket"); rfbLogPerror("rfbListenOnTCP6Port: error in bind IPv6 socket");
freeaddrinfo(servinfo);
return -1; return -1;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment