From 155af7ac777e3f39e7122b9d14cc031357316564 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 20 May 2025 15:46:41 +0200 Subject: [PATCH] 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 --- lib/ftplistparser.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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; -- 2.47.3