diff options
author | Brad King <brad.king@kitware.com> | 2016-06-20 10:53:25 -0400 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-06-20 10:53:25 -0400 |
commit | d38fc22132db1b82fad1ef5b8a7f5e030c71a90f (patch) | |
tree | fb362cbe51d7efb0d6e3af8cfc8459e4a7104844 /Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c | |
parent | c8f139a16bd1b233c35ef0bcb2cbed3f8acbb9cb (diff) | |
parent | 52f58267c311550db83f4a9430f378e730bd3d6b (diff) | |
download | cmake-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.c | 3 |
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) |