From: Daniel Stenberg Date: Tue, 20 May 2025 13:46:41 +0000 (+0200) Subject: ftplistparser: add two overflow preventions X-Git-Tag: curl-8_14_0~44 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=155af7ac777e3f39e7122b9d14cc031357316564;p=thirdparty%2Fcurl.git ftplistparser: add two overflow preventions These two conditions probably cannot actually happen, but these two checks make that certain and should please the static code analyzers. Pointed out by Coverity Closes #17397 --- diff --git a/lib/ftplistparser.c b/lib/ftplistparser.c index f416308e16..aaf91f311f 100644 --- a/lib/ftplistparser.c +++ b/lib/ftplistparser.c @@ -485,7 +485,7 @@ static CURLcode parse_unix(struct Curl_easy *data, switch(parser->state.UNIX.sub.hlinks) { case PL_UNIX_HLINKS_PRESPACE: if(c != ' ') { - if(ISDIGIT(c)) { + if(ISDIGIT(c) && len) { parser->item_offset = len - 1; parser->item_length = 1; parser->state.UNIX.sub.hlinks = PL_UNIX_HLINKS_NUMBER; @@ -850,7 +850,7 @@ static CURLcode parse_winnt(struct Curl_easy *data, case PL_WINNT_DIRORSIZE: switch(parser->state.NT.sub.dirorsize) { case PL_WINNT_DIRORSIZE_PRESPACE: - if(c != ' ') { + if(c != ' ' && len) { parser->item_offset = len - 1; parser->item_length = 1; parser->state.NT.sub.dirorsize = PL_WINNT_DIRORSIZE_CONTENT;