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: Markus Armbruster <armbru@redhat.com> Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
		
							parent
							
								
									c52e67924f
								
							
						
					
					
						commit
						5bbebf6228
					
				| 
						 | 
				
			
			@ -597,7 +597,7 @@ connect_to_qemu(
 | 
			
		|||
    const char *port
 | 
			
		||||
) {
 | 
			
		||||
    struct addrinfo hints;
 | 
			
		||||
    struct addrinfo *server;
 | 
			
		||||
    struct addrinfo *server = NULL;
 | 
			
		||||
    int ret, sock;
 | 
			
		||||
 | 
			
		||||
    sock = socket(AF_INET, SOCK_STREAM, 0);
 | 
			
		||||
| 
						 | 
				
			
			@ -629,9 +629,14 @@ connect_to_qemu(
 | 
			
		|||
    if (verbose) {
 | 
			
		||||
        printf("Connected (sizeof Header=%zd)!\n", sizeof(VSCMsgHeader));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    freeaddrinfo(server);
 | 
			
		||||
    return sock;
 | 
			
		||||
 | 
			
		||||
cleanup_socket:
 | 
			
		||||
    if (server) {
 | 
			
		||||
        freeaddrinfo(server);
 | 
			
		||||
    }
 | 
			
		||||
    closesocket(sock);
 | 
			
		||||
    return -1;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue