summaryrefslogtreecommitdiff
path: root/libarchive/archive_read_support_format_mtree.c
diff options
context:
space:
mode:
authorMartin Matuska <mm@FreeBSD.org>2017-02-10 23:12:38 +0000
committerMartin Matuska <mm@FreeBSD.org>2017-02-10 23:12:38 +0000
commit638a0d360a635fb7bb0ada38ef0b3a3bfb16bafc (patch)
tree5177f393f8c57ec32179913eac82ac5be23d84b6 /libarchive/archive_read_support_format_mtree.c
parent91360634ece33ffde0dc7c89bdb0ba8a0eb97d66 (diff)
downloadsrc-test2-638a0d360a635fb7bb0ada38ef0b3a3bfb16bafc.tar.gz
src-test2-638a0d360a635fb7bb0ada38ef0b3a3bfb16bafc.zip
Update vendor/libarchive to git b3bd0b81a1a06909f766dea8be4072ef81de62b8
Vendor bugfixes: cpio reader sanity fix (OSS-Fuzz 504) WARC reader sanity fixes (OSS-Fuzz 511, 526, 532, 552) mtree reader time parsing fix (OSS-Fuzz 538) XAR reader memleak fix (OSS-Fuzz 551)
Notes
Notes: svn path=/vendor/libarchive/dist/; revision=313569
Diffstat (limited to 'libarchive/archive_read_support_format_mtree.c')
-rw-r--r--libarchive/archive_read_support_format_mtree.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libarchive/archive_read_support_format_mtree.c b/libarchive/archive_read_support_format_mtree.c
index 979a499d1576..4231ff5002b5 100644
--- a/libarchive/archive_read_support_format_mtree.c
+++ b/libarchive/archive_read_support_format_mtree.c
@@ -1608,8 +1608,11 @@ parse_keyword(struct archive_read *a, struct mtree *mtree,
if (*val == '.') {
++val;
ns = (long)mtree_atol10(&val);
- } else
- ns = 0;
+ if (ns < 0)
+ ns = 0;
+ else if (ns > 999999999)
+ ns = 999999999;
+ }
if (m > my_time_t_max)
m = my_time_t_max;
else if (m < my_time_t_min)