Commit 2a7e8dda090af586f3d0b3d157054a9e18776a52
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 { |