Fix minor imprecisions in cfg->portfwd[] bounds checking (which erred on the
authorjacob <jacob@cda61777-01e9-0310-a592-d414129be87e>
Fri, 4 Mar 2005 01:02:53 +0000 (01:02 +0000)
committerjacob <jacob@cda61777-01e9-0310-a592-d414129be87e>
Fri, 4 Mar 2005 01:02:53 +0000 (01:02 +0000)
side of rejecting input, not buffer overflow).

git-svn-id: svn://svn.tartarus.org/sgt/putty@5438 cda61777-01e9-0310-a592-d414129be87e

config.c

index 1501f61..60724ce 100644 (file)
--- a/config.c
+++ b/config.c
@@ -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';