提交 5bbebf62 编写于 作者: Z zhanghailiang 提交者: Paolo Bonzini

libcacard: fix resource leak

In function connect_to_qemu(), getaddrinfo() will allocate memory
that is stored into server, it should be freed by using freeaddrinfo()
before connect_to_qemu() return.

Cc: qemu-stable@nongnu.org
Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
Signed-off-by: Nzhanghailiang <zhang.zhanghailiang@huawei.com>
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
上级 c52e6792
...@@ -597,7 +597,7 @@ connect_to_qemu( ...@@ -597,7 +597,7 @@ connect_to_qemu(
const char *port const char *port
) { ) {
struct addrinfo hints; struct addrinfo hints;
struct addrinfo *server; struct addrinfo *server = NULL;
int ret, sock; int ret, sock;
sock = socket(AF_INET, SOCK_STREAM, 0); sock = socket(AF_INET, SOCK_STREAM, 0);
...@@ -629,9 +629,14 @@ connect_to_qemu( ...@@ -629,9 +629,14 @@ connect_to_qemu(
if (verbose) { if (verbose) {
printf("Connected (sizeof Header=%zd)!\n", sizeof(VSCMsgHeader)); printf("Connected (sizeof Header=%zd)!\n", sizeof(VSCMsgHeader));
} }
freeaddrinfo(server);
return sock; return sock;
cleanup_socket: cleanup_socket:
if (server) {
freeaddrinfo(server);
}
closesocket(sock); closesocket(sock);
return -1; return -1;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册