[PATCH v2 2/3] path: use size_t for dir_prefix length
- From
K Jayatheerth <jayatheerthkulkarni2005@gmail.com>
- Date
- Mar 4, 2026, 13:05 UTC
- Message-ID
- <20260304130502.8475-3-jayatheerthkulkarni2005@gmail.com>
- In-Reply-To
- <20260304130502.8475-1-jayatheerthkulkarni2005@gmail.com>
The strlen() function returns a size_t. Storing this in a standard signed int is a bad practice that invites overflow vulnerabilities if paths get absurdly long.
Switch the variable to size_t. This is safe to do because 'len' is strictly used as an argument to strncmp() (which expects size_t) and as a positive array index, involving no signed arithmetic that could rely on negative values.
Signed-off-by: K Jayatheerth <jayatheerthkulkarni2005@gmail.com> --- path.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/path.c b/path.c index f613d8bbd1..56be5e1726 100644 --- a/path.c +++ b/path.c @@ -58,7 +58,7 @@ static void strbuf_cleanup_path(struct strbuf *sb) static int dir_prefix(const char *buf, const char *dir) { - int len = strlen(dir); + size_t len = strlen(dir); return !strncmp(buf, dir, len) && (is_dir_sep(buf[len]) || buf[len] == '\0'); }
-- 2.53.0