Commit 47dda4a1 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

parse_filename: strip trailing CRs and LFs

The feature that uses the file name given in a
Content-disposition: header didn't properly skip trailing
carriage returns and linefeed characters from the end of the file
name when it was given without quotes.
parent a5b7e320
Loading
Loading
Loading
Loading
+20 −3
Original line number Diff line number Diff line
@@ -4200,9 +4200,26 @@ parse_filename(char *ptr, size_t len)
    }
  }

  if(quote) {
    /* if the file name started with a quote, then scan for the end quote and
       stop there */
    q = strrchr(p, quote);
    if (q)
      *q = 0;
  }
  else
    q = NULL; /* no start quote, so no end has been found */

  if(!q) {
    /* make sure the file name doesn't end in \r or \n */
    q = strchr(p, '\r');
    if(q)
      *q  = 0;

    q = strchr(p, '\n');
    if(q)
      *q  = 0;
  }

  if (copy!=p)
    memmove(copy, p, strlen(p)+1);