diff options
author | Michael Haggerty <mhagger@alum.mit.edu> | 2013-05-25 13:08:02 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-05-28 20:25:00 +0400 |
commit | df835d3a0c013b9ef912172663c7c58dad87164d (patch) | |
tree | c9b781db5c65aac0f3ecda6e10667e3e807577d8 /revision.c | |
parent | b87dbcc89940edbf92cbab381001542a7cac3627 (diff) |
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>
Diffstat (limited to 'revision.c')
-rw-r--r-- | revision.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/revision.c b/revision.c index a67b615bfc..25e424cdb6 100644 --- a/revision.c +++ b/revision.c @@ -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, 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++; |