diff options
author | René Scharfe <l.s.r@web.de> | 2017-06-24 16:09:39 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-06-24 11:09:52 -0700 |
commit | 70c49050d4a16a7e2990e4d3c91d9d12f62e631e (patch) | |
tree | 0de8a7ca24f711dfe2f982eb94a5dbe346b2bbe2 /cache.h | |
parent | 0375f472d484041f9b1e5550b57d69286b3322e7 (diff) | |
download | git-70c49050d4a16a7e2990e4d3c91d9d12f62e631e.tar.gz |
sha1_file: guard against invalid loose subdirectory numbersrs/sha1-name-readdir-optim
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 'cache.h')
-rw-r--r-- | cache.h | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1805,10 +1805,10 @@ typedef int each_loose_object_fn(const struct object_id *oid, typedef int each_loose_cruft_fn(const char *basename, const char *path, void *data); -typedef int each_loose_subdir_fn(int nr, +typedef int each_loose_subdir_fn(unsigned int nr, const char *path, void *data); -int for_each_file_in_obj_subdir(int subdir_nr, +int for_each_file_in_obj_subdir(unsigned int subdir_nr, struct strbuf *path, each_loose_object_fn obj_cb, each_loose_cruft_fn cruft_cb, |