diff options
author | Ngie Cooper <yanegomi@gmail.com> | 2016-12-10 16:22:10 -0800 |
---|---|---|
committer | Ngie Cooper <yanegomi@gmail.com> | 2016-12-10 16:22:10 -0800 |
commit | e08543094231b9b209a5f0a48e87520a3083a011 (patch) | |
tree | 14c0a683617495e18380a6d88292ab85eaf2bec9 /tar/test | |
parent | b7caec3e4cab2b1f16743c1df3e48d78a4daa4aa (diff) | |
download | libarchive-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.c | 4 |
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) { |