From: Joe Anakata Date: Mon, 22 Feb 2016 17:45:53 +0000 (+0100) Subject: ui-plain: fix to show a repo's root directory listing in plain view X-Git-Url: https://gitweb.ps.run/ps-cgit/commitdiff_plain/de6098be6a65a4758ff8eac6359bd6fd30ba7bd3?ds=sidebyside ui-plain: fix to show a repo's root directory listing in plain view This is to fix the case of accessing http://host.com/cgit.cgi/repo.git/plain/ There is code here to make this case work (match_baselen is set to -1 for top-of-the-tree views) but the unsigned to signed comparison was always false in this case, causing an empty directory listing without this fix. Signed-off-by: Joe Anakata Signed-off-by: Jason A. Donenfeld --- diff --git a/ui-plain.c b/ui-plain.c index ff85113..97cf639 100644 --- a/ui-plain.c +++ b/ui-plain.c @@ -143,7 +143,7 @@ static int walk_tree(const unsigned char *sha1, struct strbuf *base, walk_tree_ctx->match = 2; return READ_TREE_RECURSIVE; } - } else if (base->len > walk_tree_ctx->match_baselen) { + } else if (base->len < INT_MAX && (int)base->len > walk_tree_ctx->match_baselen) { print_dir_entry(sha1, base->buf, base->len, pathname, mode); walk_tree_ctx->match = 2; } else if (S_ISDIR(mode)) {