On Tue, Feb 14, 2017 at 04:48:16PM +0100, Christian Couder wrote:

> @@ -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

Reply via email to