diff options
author | Jeff King <peff@peff.net> | 2017-03-28 15:46:44 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-03-30 14:59:50 -0700 |
commit | 903fc7da44b091a87c4bc00a892930786c71a709 (patch) | |
tree | cb93269a3d5c51e35ae92ec046f91c7e9d672ce7 /builtin/receive-pack.c | |
parent | cddac45219b70f121d30468811a9fbee78fa24f2 (diff) | |
download | git-903fc7da44b091a87c4bc00a892930786c71a709.tar.gz |
name-rev: replace static buffer with strbuf
When name-rev needs to format an actual name, we do so into
a fixed-size buffer. That includes the actual ref tip, as
well as any traversal information. Since refs can exceed
1024 bytes, this means you can get a bogus result. E.g.,
doing:
git tag $(perl -e 'print join("/", 1..1024)')
git describe --contains HEAD^
results in ".../282/283", when it should be
".../1023/1024~1".
We can solve this by using a heap buffer. We'll use a
strbuf, which lets us write into the same buffer from our
loop without having to reallocate.
Signed-off-by: Jeff King <peff@peff.net>
Diffstat (limited to 'builtin/receive-pack.c')
0 files changed, 0 insertions, 0 deletions