SHA256
1
0
forked from pool/schily
schily/large_mac_iso.patch
Jan Engelhardt 12bc16e2c1 Accepting request 802717 from home:adamm:branches:utilities
Patch already forwarded upstream

- 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/802717
OBS-URL: https://build.opensuse.org/package/show/utilities/schily?expand=0&rev=93
2020-05-11 15:26:12 +00:00

34 lines
1.2 KiB
Diff

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]);