X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=config.c;h=60724cefd1b3663144696cee90acad15352bde1c;hb=8316deb3399fe1d0c406132cf2e795a76de26b64;hp=a685ed2f3c3d4b58614d14ed513afce3d7d6b782;hpb=c1d3784a520deccdfbb79808739c141a261814b5;p=PuTTY.git diff --git a/config.c b/config.c index a685ed2f..60724cef 100644 --- a/config.c +++ b/config.c @@ -402,7 +402,7 @@ static void sessionsaver_handler(union control *ctrl, void *dlg, /* If at this point we have a valid session, go! */ if (*cfg2.host) { *cfg = cfg2; /* structure copy */ - cfg->remote_cmd_ptr = cfg->remote_cmd; /* nasty */ + cfg->remote_cmd_ptr = NULL; dlg_end(dlg, 1); } else dlg_beep(dlg); @@ -718,7 +718,7 @@ static void portfwd_handler(union control *ctrl, void *dlg, str[i++] = type; dlg_editbox_get(pfd->sourcebox, dlg, str+i, sizeof(str) - i); - if (!str[2]) { + if (!str[i]) { dlg_error_msg(dlg, "You need to specify a source port number"); return; } @@ -726,7 +726,7 @@ static void portfwd_handler(union control *ctrl, void *dlg, if (type != 'D') { *p++ = '\t'; dlg_editbox_get(pfd->destbox, dlg, p, - sizeof(str)-1 - (p - str)); + sizeof(str) - (p - str)); if (!*p || !strchr(p, ':')) { dlg_error_msg(dlg, "You need to specify a destination address\n" @@ -741,7 +741,7 @@ static void portfwd_handler(union control *ctrl, void *dlg, p++; p++; } - if ((p - cfg->portfwd) + strlen(str) + 2 < + if ((p - cfg->portfwd) + strlen(str) + 2 <= sizeof(cfg->portfwd)) { strcpy(p, str); p[strlen(str) + 1] = '\0'; @@ -1839,6 +1839,9 @@ void setup_config_box(struct controlbox *b, struct sesslist *sesslist, ctrl_droplist(s, "Misuses the session ID in PK auth", 'n', 20, HELPCTX(ssh_bugs_pksessid2), sshbug_handler, I(offsetof(Config,sshbug_pksessid2))); + ctrl_droplist(s, "Handles key re-exchange badly", 'k', 20, + HELPCTX(ssh_bugs_rekey2), + sshbug_handler, I(offsetof(Config,sshbug_rekey2))); } } }