Commit e0fb2d86 authored by Bill Middlecamp's avatar Bill Middlecamp Committed by Daniel Stenberg
Browse files

FTP: handle "rubbish" in front of directory name in 257 responses

When doing PWD, there's a 257 response which apparently some servers
prefix with a comment before the path instead of after it as is
otherwise the norm.

Failing to parse this, several otherwise legitimate use cases break.

Bug: http://curl.haxx.se/mail/lib-2013-04/0113.html
parent 658ec970
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -2871,13 +2871,19 @@ static CURLcode ftp_statemach_act(struct connectdata *conn)
          return CURLE_OUT_OF_MEMORY;

        /* Reply format is like
           257<space>"<directory-name>"<space><commentary> and the RFC959
           says
           257<space>[rubbish]"<directory-name>"<space><commentary> and the
           RFC959 says

           The directory name can contain any character; embedded
           double-quotes should be escaped by double-quotes (the
           "quote-doubling" convention).
        */

        /* scan for the first double-quote for non-standard responses */
        while(ptr < &data->state.buffer[sizeof(data->state.buffer)]
              && *ptr != '\n' && *ptr != '\0' && *ptr != '"')
          ptr++;

        if('\"' == *ptr) {
          /* it started good */
          ptr++;