Fix a segfault in agent forwarding code
[u/mdw/putty] / ssh.c
diff --git a/ssh.c b/ssh.c
index 4068aa7..3b4fcb2 100644 (file)
--- a/ssh.c
+++ b/ssh.c
@@ -1358,10 +1358,12 @@ static int do_ssh1_login(unsigned char *in, int inlen, int ispkt)
                                 crWaitUntil(ispkt);
                                 if (pktin.type == SSH1_SMSG_SUCCESS) {
                                     logevent("Pageant's response accepted");
-                                    c_write("Authenticated using RSA key \"",
-                                            29);
-                                    c_write(commentp, commentlen);
-                                    c_write("\" from agent\r\n", 14);
+                                    if (flags & FLAG_VERBOSE) {
+                                        c_write("Authenticated using RSA key \"",
+                                                29);
+                                        c_write(commentp, commentlen);
+                                        c_write("\" from agent\r\n", 14);
+                                    }
                                     authed = TRUE;
                                 } else
                                     logevent("Pageant's response not accepted");
@@ -1669,6 +1671,7 @@ static void ssh1_protocol(unsigned char *in, int inlen, int ispkt) {
                 c->localid = i;
                 c->closes = 0;
                 c->type = SSH1_SMSG_AGENT_OPEN;   /* identify channel type */
+                c->u.a.lensofar = 0;
                 add234(ssh_channels, c);
                 send_packet(SSH1_MSG_CHANNEL_OPEN_CONFIRMATION,
                             PKT_INT, c->remoteid, PKT_INT, c->localid,