Fix a bug in the PSFTP command parser which would cause it to
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Wed, 22 Aug 2012 18:36:44 +0000 (18:36 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Wed, 22 Aug 2012 18:36:44 +0000 (18:36 +0000)
hallucinate an extra empty argument word at the end of a line if the
line ended in more than one whitespace character.

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

psftp.c

diff --git a/psftp.c b/psftp.c
index 482d66e..ef930bd 100644 (file)
--- a/psftp.c
+++ b/psftp.c
@@ -2287,10 +2287,13 @@ struct sftp_command *sftp_getcmd(FILE *fp, int mode, int modeflags)
         *      >this has "quotes" in<
         *      >and"this"<
         */
-       while (*p) {
+       while (1) {
            /* skip whitespace */
            while (*p && (*p == ' ' || *p == '\t'))
                p++;
+            /* terminate loop */
+            if (!*p)
+                break;
            /* mark start of word */
            q = r = p;                 /* q sits at start, r writes word */
            quoting = 0;