From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60947) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZIa25-0005Ia-At for qemu-devel@nongnu.org; Fri, 24 Jul 2015 06:16:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZIa22-0000ke-3A for qemu-devel@nongnu.org; Fri, 24 Jul 2015 06:16:49 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33658) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZIa21-0000kX-SM for qemu-devel@nongnu.org; Fri, 24 Jul 2015 06:16:46 -0400 From: Paolo Bonzini Date: Fri, 24 Jul 2015 12:16:26 +0200 Message-Id: <1437732994-20478-6-git-send-email-pbonzini@redhat.com> In-Reply-To: <1437732994-20478-1-git-send-email-pbonzini@redhat.com> References: <1437732994-20478-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PULL 05/13] vnc: fix memory leak List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Gonglei From: Gonglei If vnc's password is configured, it will leak memory which cipher variable pointed on every vnc connection. Cc: Daniel P. Berrange Reviewed-by: Daniel P. Berrange Signed-off-by: Gonglei Message-Id: <1437556133-11268-1-git-send-email-arei.gonglei@huawei.com> Signed-off-by: Paolo Bonzini --- ui/vnc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ui/vnc.c b/ui/vnc.c index 1483958..e26973a 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -2520,7 +2520,7 @@ static int protocol_client_auth_vnc(VncState *vs, uint8_t *data, size_t len) size_t i, pwlen; unsigned char key[8]; time_t now = time(NULL); - QCryptoCipher *cipher; + QCryptoCipher *cipher = NULL; Error *err = NULL; if (!vs->vd->password) { @@ -2573,6 +2573,8 @@ static int protocol_client_auth_vnc(VncState *vs, uint8_t *data, size_t len) start_client_init(vs); } + + qcrypto_cipher_free(cipher); return 0; reject: @@ -2584,6 +2586,7 @@ reject: } vnc_flush(vs); vnc_client_error(vs); + qcrypto_cipher_free(cipher); return 0; } -- 2.4.3