Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2018-08-23 03:45:44 +0300
committerJunio C Hamano <gitster@pobox.com>2018-08-23 20:08:51 +0300
commita3b636e21574e6cff1494e0a84644e06201ddb8d (patch)
treeb7587477affaebe30612e6c7667d4fe7e1e30be1 /sequencer.c
parent0d2db00e24ee2df4459151c5ba6de9306e30e727 (diff)
trailer: use size_t for iterating trailer list
We store the length of the trailers list in a size_t. So on a 64-bit system with a 32-bit int, in the unlikely case that we manage to actually allocate a list with 2^31 entries, we'd loop forever trying to iterate over it (our "int" would wrap to negative before exceeding info->trailer_nr). This probably doesn't matter in practice. Each entry is at least a pointer plus a non-empty string, so even without malloc overhead or the memory to hold the original string we're parsing from, you'd need to allocate tens of gigabytes. But it's easy enough to do it right. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sequencer.c')
-rw-r--r--sequencer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sequencer.c b/sequencer.c
index 4034c0461b..b0613c06bb 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -225,7 +225,7 @@ static int has_conforming_footer(struct strbuf *sb, struct strbuf *sob,
int ignore_footer)
{
struct trailer_info info;
- int i;
+ size_t i;
int found_sob = 0, found_sob_last = 0;
trailer_info_get(&info, sb->buf);