Re: [PATCH] show-branch: fix crash with long ref name
- From
Jeff King <peff@peff.net>
- Date
- Feb 14, 2017, 17:25 UTC
- Message-ID
- <20170214172526.hzpm3d3ubd3vjnzr@sigill.intra.peff.net>
- In-Reply-To
- <20170214154816.12625-1-chriscool@tuxfamily.org>
On Tue, Feb 14, 2017 at 04:48:16PM +0100, Christian Couder wrote:
Show 12 quoted lines
> @@ -791,11 +791,11 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
> head_oid.hash, NULL);
> if (head_p) {
> head_len = strlen(head_p);
> - memcpy(head, head_p, head_len + 1);
> + head_cpy = xstrdup(head_p);
> }
> else {
> head_len = 0;
> - head[0] = 0;
> + head_cpy = xstrdup("");
> }This fixes the problem, but I think we can simplify it quite a bit by using resolve_refdup(). Here's the patch series I ended up with:
[1/3]: show-branch: drop head_len variable [2/3]: show-branch: store resolved head in heap buffer [3/3]: show-branch: use skip_prefix to drop magic numbers
builtin/show-branch.c | 39 ++++++++++++--------------------------- 1 file changed, 12 insertions(+), 27 deletions(-)
-Peff