X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/22db244f8807f49b893839cdefebffb9ed0cbf84..019164b0b11617604e54d86a0ee66e17a2124273:/config.c 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))); } } }