SHA256
1
0
forked from pool/schily

Accepting request 802735 from utilities

- mkisofs: fix integer overflow in partition table calculation
  when chrp-boot is enabled and a large ISO image is created.
  (large_mac_iso.patch, bsc#1169420)

OBS-URL: https://build.opensuse.org/request/show/802735
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/schily?expand=0&rev=27
This commit is contained in:
Dominique Leuenberger 2020-05-12 20:27:56 +00:00 committed by Git OBS Bridge
commit 5636cf5922
3 changed files with 48 additions and 2 deletions

39
large_mac_iso.patch Normal file
View File

@ -0,0 +1,39 @@
From: Adam Majer <amajer@suse.com>
Date: 2020-05-11 11:47:23+0000
Fix an integer overflow in partition table calculation when chrp-boot
is enabled and a large ISO image is created.
Index: cdrtools-3.02/mkisofs/mac_label.c
===================================================================
--- cdrtools-3.02.orig/mkisofs/mac_label.c
+++ cdrtools-3.02/mkisofs/mac_label.c
@@ -67,8 +67,8 @@ gen_prepboot_label(ml)
{
struct directory_entry *de;
int i = 0;
- int block;
- int size;
+ unsigned block;
+ unsigned size;
MacLabel *mac_label = (MacLabel *) ml;
if (verbose > 1) {
@@ -98,7 +98,7 @@ gen_prepboot_label(ml)
mac_label->image[i].startSect[2] = 0;
mac_label->image[i].startSect[3] = 0;
- size = (last_extent - session_start) * 2048 / 512;
+ size = (unsigned)(last_extent - session_start) * (2048 / 512);
mac_label->image[i].size[0] = size & 0xff;
mac_label->image[i].size[1] = (size >> 8) & 0xff;
mac_label->image[i].size[2] = (size >> 16) & 0xff;
@@ -115,7 +115,7 @@ gen_prepboot_label(ml)
/* NOTREACHED */
}
/* get size and block in 512-byte blocks */
- block = get_733(de->isorec.extent) * 2048 / 512;
+ block = get_733(de->isorec.extent) * (2048 / 512);
size = get_733(de->isorec.size) / 512 + 1;
fprintf(stderr, _("PReP boot partition %d is \"%s\"\n"),
i + 1, prep_boot_image[i - use_chrp_boot]);

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Mon May 11 11:47:23 UTC 2020 - Adam Majer <adam.majer@suse.de>
- mkisofs: fix integer overflow in partition table calculation
when chrp-boot is enabled and a large ISO image is created.
(large_mac_iso.patch, bsc#1169420)
-------------------------------------------------------------------
Wed Apr 29 08:26:30 UTC 2020 - Jan Engelhardt <jengelh@inai.de>

View File

@ -41,6 +41,7 @@ Source1: README-FIRST
# and submit patches upstream FIRST (cc to the bspkg maintainer perhaps).
Patch1: iconv-name.diff
Patch2: schily-2018-05-25_star_configuration.patch
Patch3: large_mac_iso.patch
BuildRequires: autoconf
BuildRequires: fdupes
BuildRequires: gcc-c++
@ -445,8 +446,7 @@ limitations on file size and supports to edit large files (files >2
GB).
%prep
%setup -qn %name-%rver
%patch -P 1 -P 2 -p1
%autosetup -n %name-%rver -p1
find . "(" -type d -o -type f ")" -exec chmod u+w "{}" "+"
cp %{SOURCE1} .