FTP parselist: fix "total" parser
A regression introduced in 7f3b87d878
(present in the 7.21.4 release)
broke the total parser. Now skip the whitespace and the digits.
Reported-by: Justin Maggard
Bug: http://curl.haxx.se/mail/lib-2014-01/0019.html
This commit is contained in:
parent
404794e97a
commit
602d28a210
@ -5,7 +5,7 @@
|
||||
* | (__| |_| | _ <| |___
|
||||
* \___|\___/|_| \_\_____|
|
||||
*
|
||||
* Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
* Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
*
|
||||
* This software is licensed as described in the file COPYING, which
|
||||
* you should have received as part of this distribution. The terms
|
||||
@ -449,9 +449,12 @@ size_t Curl_ftp_parselist(char *buffer, size_t size, size_t nmemb,
|
||||
finfo->b_data[parser->item_length - 1] = 0;
|
||||
if(strncmp("total ", finfo->b_data, 6) == 0) {
|
||||
char *endptr = finfo->b_data+6;
|
||||
/* here we can deal with directory size */
|
||||
/* here we can deal with directory size, pass the leading white
|
||||
spaces and then the digits */
|
||||
while(ISSPACE(*endptr))
|
||||
endptr++;
|
||||
while(ISDIGIT(*endptr))
|
||||
endptr++;
|
||||
if(*endptr != 0) {
|
||||
PL_ERROR(conn, CURLE_FTP_BAD_FILE_LIST);
|
||||
return bufflen;
|
||||
|
Loading…
Reference in New Issue
Block a user