From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L4DC1-0001dZ-5r for qemu-devel@nongnu.org; Sun, 23 Nov 2008 06:31:57 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L4DC0-0001dN-ID for qemu-devel@nongnu.org; Sun, 23 Nov 2008 06:31:56 -0500 Received: from [199.232.76.173] (port=46828 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L4DC0-0001dK-DA for qemu-devel@nongnu.org; Sun, 23 Nov 2008 06:31:56 -0500 Received: from alpha.arachsys.com ([91.203.57.7]:56624) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1L4DC0-0000ID-Ch for qemu-devel@nongnu.org; Sun, 23 Nov 2008 06:31:56 -0500 Date: Sun, 23 Nov 2008 11:31:47 +0000 From: Chris Webb Message-ID: <20081123113147.GA12832@arachsys.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] [PATCH] Fix off-by-one bug limiting VNC passwords to 7 chars Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kvm@vger.kernel.org Fix off-by-one bug limiting VNC passwords to 7 characters instead of 8 monitor_readline expects buf_size to include the terminating \0, but do_change_vnc in monitor.c calls it as though it doesn't. The other site where monitor_readline reads a password (in vl.c) passes the buffer length correctly. Signed-off-by: Chris Webb --- monitor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitor.c b/monitor.c index 22360fc..6ae5729 100644 --- a/monitor.c +++ b/monitor.c @@ -433,7 +433,7 @@ static void do_change_vnc(const char *target) if (strcmp(target, "passwd") == 0 || strcmp(target, "password") == 0) { char password[9]; - monitor_readline("Password: ", 1, password, sizeof(password)-1); + monitor_readline("Password: ", 1, password, sizeof(password)); password[sizeof(password)-1] = '\0'; if (vnc_display_password(NULL, password) < 0) term_printf("could not set VNC server password\n");