From: Jeff King Date: Sun, 13 May 2018 17:00:23 +0000 (-0400) Subject: verify_path: drop clever fallthrough X-Git-Tag: v2.13.7~1^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e19e5e66d691bdeeeb5e0ed2ffcecdd7666b0d7b;p=thirdparty%2Fgit.git verify_path: drop clever fallthrough We check ".git" and ".." in the same switch statement, and fall through the cases to share the end-of-component check. While this saves us a line or two, it makes modifying the function much harder. Let's just write it out. Signed-off-by: Jeff King --- diff --git a/read-cache.c b/read-cache.c index 6238df448f..5c5dfc629d 100644 --- a/read-cache.c +++ b/read-cache.c @@ -810,8 +810,7 @@ static int verify_dotfile(const char *rest) switch (*rest) { /* - * ".git" followed by NUL or slash is bad. This - * shares the path end test with the ".." case. + * ".git" followed by NUL or slash is bad. */ case 'g': case 'G': @@ -819,8 +818,9 @@ static int verify_dotfile(const char *rest) break; if (rest[2] != 't' && rest[2] != 'T') break; - rest += 2; - /* fallthrough */ + if (rest[3] == '\0' || is_dir_sep(rest[3])) + return 0; + break; case '.': if (rest[1] == '\0' || is_dir_sep(rest[1])) return 0;