summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2016-05-26 00:28:08 -0400
committerJunio C Hamano <gitster@pobox.com>2016-05-26 10:44:26 -0700
commit9e6c1e91a3f06eec45f976ed3ff4e9f445cf7328 (patch)
tree7d88cfc648ee5c171844200e7737d97802da5217
parentd62c89afb278ab625dd399222ceb8d48b0358756 (diff)
downloadgit-jk/war-on-sprintf.tar.gz
archive-tar: convert snprintf to xsnprintfjk/war-on-sprintf
Commit f2f0267 (archive-tar: use xsnprintf for trivial formatting, 2015-09-24) converted cases of "sprintf" to "xsnprintf", but accidentally left one as just "snprintf". This meant that we could silently truncate the resulting buffer instead of flagging an error. In practice, this is impossible to achieve, as we are formatting a ustar checksum, which can be at most 7 characters. But the point of xsnprintf is to document and check for "should be impossible" conditions; this site was just accidentally mis-converted during f2f0267. Noticed-by: Paul Green <Paul.Green@stratus.com> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--archive-tar.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/archive-tar.c b/archive-tar.c
index 501ca97760..cb99df2814 100644
--- a/archive-tar.c
+++ b/archive-tar.c
@@ -181,7 +181,7 @@ static void prepare_header(struct archiver_args *args,
memcpy(header->magic, "ustar", 6);
memcpy(header->version, "00", 2);
- snprintf(header->chksum, sizeof(header->chksum), "%07o", ustar_header_chksum(header));
+ xsnprintf(header->chksum, sizeof(header->chksum), "%07o", ustar_header_chksum(header));
}
static int write_extended_header(struct archiver_args *args,