From f7b3eb5b44cda746ad8b91fa1ea70c3f970e3f1c Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Mon, 6 Jun 2022 16:12:09 +0900 Subject: [PATCH] netlib_parseurl: Make the buffer size assumption explicit --- netutils/netlib/netlib_parseurl.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/netutils/netlib/netlib_parseurl.c b/netutils/netlib/netlib_parseurl.c index ddb84a65a..775f2f189 100644 --- a/netutils/netlib/netlib_parseurl.c +++ b/netutils/netlib/netlib_parseurl.c @@ -63,6 +63,15 @@ int netlib_parseurl(FAR const char *str, FAR struct url_s *url) int ret = OK; size_t pathlen; + /* Each fields should have at least 1 byte to store + * the terminating NUL. + */ + + if (url->schemelen == 0 || url->hostlen == 0 || url->pathlen == 0) + { + return -EINVAL; + } + /* extract the protocol field, a set of a-z letters */ dest = url->scheme;