Remember to terminate the prompt string in keyboard-interactive
[u/mdw/putty] / ssh.c
diff --git a/ssh.c b/ssh.c
index 3a02b12..baa811f 100644 (file)
--- a/ssh.c
+++ b/ssh.c
@@ -4155,6 +4155,8 @@ static void do_ssh2_authconn(unsigned char *in, int inlen, int ispkt)
 
                    ssh2_pkt_getstring(&prompt, &prompt_len);
                    strncpy(pwprompt, prompt, sizeof(pwprompt));
+                   pwprompt[prompt_len < sizeof(pwprompt) ?
+                            prompt_len : sizeof(pwprompt)-1] = '\0';
                    need_pw = TRUE;
 
                    echo = ssh2_pkt_getbool();