Browse Source

add_rev_cmdline(): make a copy of the name argument

Instead of assuming that the memory pointed to by the name argument
will live forever, make a local copy of it before storing it in the
ref_cmdline_info.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Michael Haggerty 12 years ago committed by Junio C Hamano
parent
commit
df835d3a0c
  1. 6
      revision.c

6
revision.c

@ -898,6 +898,10 @@ static int limit_list(struct rev_info *revs) @@ -898,6 +898,10 @@ static int limit_list(struct rev_info *revs)
return 0;
}

/*
* Add an entry to refs->cmdline with the specified information.
* *name is copied.
*/
static void add_rev_cmdline(struct rev_info *revs,
struct object *item,
const char *name,
@ -909,7 +913,7 @@ static void add_rev_cmdline(struct rev_info *revs, @@ -909,7 +913,7 @@ static void add_rev_cmdline(struct rev_info *revs,

ALLOC_GROW(info->rev, nr + 1, info->alloc);
info->rev[nr].item = item;
info->rev[nr].name = name;
info->rev[nr].name = xstrdup(name);
info->rev[nr].whence = whence;
info->rev[nr].flags = flags;
info->nr++;

Loading…
Cancel
Save