aboutsummaryrefslogtreecommitdiffstats
path: root/libarchive/archive_read_support_format_iso9660.c
diff options
context:
space:
mode:
authorMartin Matuska <mm@FreeBSD.org>2016-06-20 23:55:33 +0000
committerMartin Matuska <mm@FreeBSD.org>2016-06-20 23:55:33 +0000
commita53ba8b9783027cd9c7692dbe0c25d8ac3740afe (patch)
tree340157ed75684b469b383c2ace25b23c82ec6cf6 /libarchive/archive_read_support_format_iso9660.c
parentdc919cebaf7d24f04391c32623e98c32a98e154c (diff)
downloadsrc-a53ba8b9783027cd9c7692dbe0c25d8ac3740afe.tar.gz
src-a53ba8b9783027cd9c7692dbe0c25d8ac3740afe.zip
Update vendor/libarchive to git 139d0576b51a253732a5ab1f66805dffbf8b00af
tag v3.2.1 Fixed vendor issues: Issue 521: Properly check reading from lzss decompression buffer Issue 717: Fix integer overflow when computing location of volume descriptor Issue 718: Security fix TALOS-CAN-152 Issue 719: Security fix TALOS-CAN-154 Security: TALOS-CAN-152, TALOS-CAN-154
Notes
Notes: svn path=/vendor/libarchive/dist/; revision=302037
Diffstat (limited to 'libarchive/archive_read_support_format_iso9660.c')
-rw-r--r--libarchive/archive_read_support_format_iso9660.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libarchive/archive_read_support_format_iso9660.c b/libarchive/archive_read_support_format_iso9660.c
index 6934ceefe9db..f41ba3865623 100644
--- a/libarchive/archive_read_support_format_iso9660.c
+++ b/libarchive/archive_read_support_format_iso9660.c
@@ -1091,7 +1091,7 @@ choose_volume(struct archive_read *a, struct iso9660 *iso9660)
/* This condition is unlikely; by way of caution. */
vd = &(iso9660->joliet);
- skipsize = LOGICAL_BLOCK_SIZE * vd->location;
+ skipsize = LOGICAL_BLOCK_SIZE * (int64_t)vd->location;
skipsize = __archive_read_consume(a, skipsize);
if (skipsize < 0)
return ((int)skipsize);
@@ -1129,7 +1129,7 @@ choose_volume(struct archive_read *a, struct iso9660 *iso9660)
&& iso9660->seenJoliet) {
/* Switch reading data from primary to joliet. */
vd = &(iso9660->joliet);
- skipsize = LOGICAL_BLOCK_SIZE * vd->location;
+ skipsize = LOGICAL_BLOCK_SIZE * (int64_t)vd->location;
skipsize -= iso9660->current_position;
skipsize = __archive_read_consume(a, skipsize);
if (skipsize < 0)