diff options
author | Edward Thomson <ethomson@edwardthomson.com> | 2021-11-01 13:04:40 -0400 |
---|---|---|
committer | Edward Thomson <ethomson@edwardthomson.com> | 2021-11-09 15:17:17 +0000 |
commit | dd748dbede1a36f1e929461ecbfcde749eb685bb (patch) | |
tree | 60e695e05378a21db5218c81285a5c0e3b5de395 /src/fs_path.c | |
parent | bef02d3e638ce8c95c9e63622b46d87a0f8ee2b2 (diff) | |
download | libgit2-dd748dbede1a36f1e929461ecbfcde749eb685bb.tar.gz |
fs_path: make empty component validation optional
Diffstat (limited to 'src/fs_path.c')
-rw-r--r-- | src/fs_path.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/fs_path.c b/src/fs_path.c index fa27a6e73..483b21c1e 100644 --- a/src/fs_path.c +++ b/src/fs_path.c @@ -1599,7 +1599,7 @@ static bool validate_component( unsigned int flags) { if (len == 0) - return false; + return !(flags & GIT_FS_PATH_REJECT_EMPTY_COMPONENT); if ((flags & GIT_FS_PATH_REJECT_TRAVERSAL) && len == 1 && component[0] == '.') @@ -1644,6 +1644,9 @@ bool git_fs_path_is_valid_str_ext( const char *start, *c; size_t len = 0; + if (!flags) + return true; + for (start = c = path->ptr; *c && len < path->size; c++, len++) { if (!validate_char(*c, flags)) return false; |