summaryrefslogtreecommitdiff
path: root/builtin/prune.c
diff options
context:
space:
mode:
authorRené Scharfe <l.s.r@web.de>2017-06-24 14:09:39 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-06-24 18:09:52 (GMT)
commit70c49050d4a16a7e2990e4d3c91d9d12f62e631e (patch)
tree0de8a7ca24f711dfe2f982eb94a5dbe346b2bbe2 /builtin/prune.c
parent0375f472d484041f9b1e5550b57d69286b3322e7 (diff)
downloadgit-70c49050d4a16a7e2990e4d3c91d9d12f62e631e.zip
git-70c49050d4a16a7e2990e4d3c91d9d12f62e631e.tar.gz
git-70c49050d4a16a7e2990e4d3c91d9d12f62e631e.tar.bz2
sha1_file: guard against invalid loose subdirectory numbers
Loose object subdirectories have hexadecimal names based on the first byte of the hash of contained objects, thus their numerical representation can range from 0 (0x00) to 255 (0xff). Change the type of the corresponding variable in for_each_file_in_obj_subdir() and associated callback functions to unsigned int and add a range check. Suggested-by: Jeff King <peff@peff.net> Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/prune.c')
-rw-r--r--builtin/prune.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin/prune.c b/builtin/prune.c
index 42633e0..ea208c9 100644
--- a/builtin/prune.c
+++ b/builtin/prune.c
@@ -68,7 +68,7 @@ static int prune_cruft(const char *basename, const char *path, void *data)
return 0;
}
-static int prune_subdir(int nr, const char *path, void *data)
+static int prune_subdir(unsigned int nr, const char *path, void *data)
{
if (!show_only)
rmdir(path);