Fix off-by-one bug limiting VNC passwords to 7 chars (Chris Webb)
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 10 Dec 2008 15:12:57 +0000 (15:12 +0000)
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 10 Dec 2008 15:12:57 +0000 (15:12 +0000)
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 <chris@arachsys.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5966 c046a42c-6fe2-441c-8c8c-71466251a162

monitor.c

index f142a87..bec9211 100644 (file)
--- a/monitor.c
+++ b/monitor.c
@@ -434,8 +434,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 {