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>
This commit is contained in:
parent
b87dbcc899
commit
df835d3a0c
@ -898,6 +898,10 @@ static int limit_list(struct rev_info *revs)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Add an entry to refs->cmdline with the specified information.
|
||||||
|
* *name is copied.
|
||||||
|
*/
|
||||||
static void add_rev_cmdline(struct rev_info *revs,
|
static void add_rev_cmdline(struct rev_info *revs,
|
||||||
struct object *item,
|
struct object *item,
|
||||||
const char *name,
|
const char *name,
|
||||||
@ -909,7 +913,7 @@ static void add_rev_cmdline(struct rev_info *revs,
|
|||||||
|
|
||||||
ALLOC_GROW(info->rev, nr + 1, info->alloc);
|
ALLOC_GROW(info->rev, nr + 1, info->alloc);
|
||||||
info->rev[nr].item = item;
|
info->rev[nr].item = item;
|
||||||
info->rev[nr].name = name;
|
info->rev[nr].name = xstrdup(name);
|
||||||
info->rev[nr].whence = whence;
|
info->rev[nr].whence = whence;
|
||||||
info->rev[nr].flags = flags;
|
info->rev[nr].flags = flags;
|
||||||
info->nr++;
|
info->nr++;
|
||||||
|
Loading…
Reference in New Issue
Block a user