summaryrefslogtreecommitdiff
path: root/builtin/name-rev.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2014-06-19 21:26:56 (GMT)
committerJunio C Hamano <gitster@pobox.com>2014-06-19 22:20:54 (GMT)
commitb2724c87872aaec55dd7e5529aa029c3108b43a5 (patch)
tree905e0c855f087699b8a5fd8054271a8e7c5d9dad /builtin/name-rev.c
parent283101869bea8feb5d58f6ea1b568e9b197526d3 (diff)
downloadgit-b2724c87872aaec55dd7e5529aa029c3108b43a5.zip
git-b2724c87872aaec55dd7e5529aa029c3108b43a5.tar.gz
git-b2724c87872aaec55dd7e5529aa029c3108b43a5.tar.bz2
use xstrfmt to replace xmalloc + strcpy/strcat
It's easy to get manual allocation calculations wrong, and the use of strcpy/strcat raise red flags for people looking for buffer overflows (though in this case each site was fine). It's also shorter to use xstrfmt, and the printf-format tends to be easier for a reader to see what the final string will look like. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/name-rev.c')
-rw-r--r--builtin/name-rev.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/builtin/name-rev.c b/builtin/name-rev.c
index c824d4e..3c8f319 100644
--- a/builtin/name-rev.c
+++ b/builtin/name-rev.c
@@ -33,10 +33,7 @@ static void name_rev(struct commit *commit,
return;
if (deref) {
- char *new_name = xmalloc(strlen(tip_name)+3);
- strcpy(new_name, tip_name);
- strcat(new_name, "^0");
- tip_name = new_name;
+ tip_name = xstrfmt("%s^0", tip_name);
if (generation)
die("generation: %d, but deref?", generation);