summaryrefslogtreecommitdiff
path: root/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-06-20 10:53:25 -0400
committerBrad King <brad.king@kitware.com>2016-06-20 10:53:25 -0400
commitd38fc22132db1b82fad1ef5b8a7f5e030c71a90f (patch)
treefb362cbe51d7efb0d6e3af8cfc8459e4a7104844 /Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c
parentc8f139a16bd1b233c35ef0bcb2cbed3f8acbb9cb (diff)
parent52f58267c311550db83f4a9430f378e730bd3d6b (diff)
downloadcmake-d38fc22132db1b82fad1ef5b8a7f5e030c71a90f.tar.gz
Merge branch 'update-libarchive' into release
Diffstat (limited to 'Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c')
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c
index f045b8fe79..a33ea4fd44 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c
@@ -2153,6 +2153,9 @@ read_SubStreamsInfo(struct archive_read *a, struct _7z_substream_info *ss,
return (-1);
if (UMAX_ENTRY < f[i].numUnpackStreams)
return (-1);
+ if (unpack_streams > SIZE_MAX - UMAX_ENTRY) {
+ return (-1);
+ }
unpack_streams += (size_t)f[i].numUnpackStreams;
}
if ((p = header_bytes(a, 1)) == NULL)