Commit 2a7e8dda090af586f3d0b3d157054a9e18776a52

Authored by aliguori
1 parent 4c2ab988

Fix off-by-one bug limiting VNC passwords to 7 chars (Chris Webb)

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
Showing 1 changed file with 1 additions and 2 deletions
monitor.c
@@ -434,8 +434,7 @@ static void do_change_vnc(const char *target) @@ -434,8 +434,7 @@ static void do_change_vnc(const char *target)
434 if (strcmp(target, "passwd") == 0 || 434 if (strcmp(target, "passwd") == 0 ||
435 strcmp(target, "password") == 0) { 435 strcmp(target, "password") == 0) {
436 char password[9]; 436 char password[9];
437 - monitor_readline("Password: ", 1, password, sizeof(password)-1);  
438 - password[sizeof(password)-1] = '\0'; 437 + monitor_readline("Password: ", 1, password, sizeof(password));
439 if (vnc_display_password(NULL, password) < 0) 438 if (vnc_display_password(NULL, password) < 0)
440 term_printf("could not set VNC server password\n"); 439 term_printf("could not set VNC server password\n");
441 } else { 440 } else {