From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L4v6R-0003s7-K5 for qemu-devel@nongnu.org; Tue, 25 Nov 2008 05:25:07 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L4v6Q-0003qu-M4 for qemu-devel@nongnu.org; Tue, 25 Nov 2008 05:25:06 -0500 Received: from [199.232.76.173] (port=44130 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L4v6Q-0003qi-9p for qemu-devel@nongnu.org; Tue, 25 Nov 2008 05:25:06 -0500 Received: from alpha.arachsys.com ([91.203.57.7]:34262) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1L4v6Q-0005K4-4H for qemu-devel@nongnu.org; Tue, 25 Nov 2008 05:25:06 -0500 Date: Tue, 25 Nov 2008 10:25:02 +0000 From: Chris Webb Message-ID: <20081125102502.GJ2380@arachsys.com> References: <20081123113147.GA12832@arachsys.com> <20081123123101.GC17042@networkno.de> <20081125100935.GI2380@arachsys.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081125100935.GI2380@arachsys.com> Subject: [Qemu-devel] [PATCH v2] 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, 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 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/monitor.c b/monitor.c index 22360fc..a252838 100644 --- a/monitor.c +++ b/monitor.c @@ -433,8 +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); - password[sizeof(password)-1] = '\0'; + monitor_readline("Password: ", 1, password, sizeof(password)); if (vnc_display_password(NULL, password) < 0) term_printf("could not set VNC server password\n"); } else {