summaryrefslogtreecommitdiff
path: root/tar/test
diff options
context:
space:
mode:
authorNgie Cooper <yanegomi@gmail.com>2016-12-10 16:22:10 -0800
committerNgie Cooper <yanegomi@gmail.com>2016-12-10 16:22:10 -0800
commite08543094231b9b209a5f0a48e87520a3083a011 (patch)
tree14c0a683617495e18380a6d88292ab85eaf2bec9 /tar/test
parentb7caec3e4cab2b1f16743c1df3e48d78a4daa4aa (diff)
downloadlibarchive-e08543094231b9b209a5f0a48e87520a3083a011.tar.gz
Don't overrun `tmpdir` buffer with sprintf
If progname is sufficiently large enough, it would overflow the `tmpdir` buffer, causing an illegal memory access Reported by: Coverity CID: 1331594
Diffstat (limited to 'tar/test')
-rw-r--r--tar/test/main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/tar/test/main.c b/tar/test/main.c
index 6077af5f..6bc35578 100644
--- a/tar/test/main.c
+++ b/tar/test/main.c
@@ -2958,8 +2958,8 @@ main(int argc, char **argv)
strftime(tmpdir_timestamp, sizeof(tmpdir_timestamp),
"%Y-%m-%dT%H.%M.%S",
localtime(&now));
- sprintf(tmpdir, "%s/%s.%s-%03d", tmp, progname,
- tmpdir_timestamp, i);
+ snprintf(tmpdir, sizeof(tmpdir), "%s/%s.%s-%03d", tmp,
+ progname, tmpdir_timestamp, i);
if (assertMakeDir(tmpdir,0755))
break;
if (i >= 999) {