diff --git a/sys-fs/dmg2img/dmg2img-1.6.6.recipe b/sys-fs/dmg2img/dmg2img-1.6.7.recipe similarity index 92% rename from sys-fs/dmg2img/dmg2img-1.6.6.recipe rename to sys-fs/dmg2img/dmg2img-1.6.7.recipe index bd73b1ecc..7bc36a2f4 100644 --- a/sys-fs/dmg2img/dmg2img-1.6.6.recipe +++ b/sys-fs/dmg2img/dmg2img-1.6.7.recipe @@ -10,9 +10,9 @@ COPYRIGHT="2007-2009 Jean-Pierre Demailly (dmg2img) 2006 Ralf-Philipp Weinmann, Jacob Appelbaum, Christian Fromme \ (vfdecrypt)" LICENSE="GNU GPL v2" -REVISION="2" +REVISION="1" SOURCE_URI="http://vu1tur.eu.org/tools/dmg2img-$portVersion.tar.gz" -CHECKSUM_SHA256="9ba6384a7fb8cc852efa87df5e2b4e1d493dc5bff1a77daf2435fa00301adc85" +CHECKSUM_SHA256="02aea6d05c5b810074913b954296ddffaa43497ed720ac0a671da4791ec4d018" PATCHES="dmg2img-$portVersion.patchset" ARCHITECTURES="x86_gcc2 x86 x86_64" diff --git a/sys-fs/dmg2img/patches/dmg2img-1.6.6.patchset b/sys-fs/dmg2img/patches/dmg2img-1.6.7.patchset similarity index 86% rename from sys-fs/dmg2img/patches/dmg2img-1.6.6.patchset rename to sys-fs/dmg2img/patches/dmg2img-1.6.7.patchset index 79edf948a..9918d3f3b 100644 --- a/sys-fs/dmg2img/patches/dmg2img-1.6.6.patchset +++ b/sys-fs/dmg2img/patches/dmg2img-1.6.7.patchset @@ -1,4 +1,4 @@ -From 523770910ace4ad6be25ea056c663525f0428085 Mon Sep 17 00:00:00 2001 +From f47a376156c9c6aa2a1e930014a0dbc7f6f3c527 Mon Sep 17 00:00:00 2001 From: fbrosson Date: Mon, 6 Feb 2017 17:31:50 +0000 Subject: gcc2 @@ -28,7 +28,7 @@ index caa3a46..3937ec4 100644 chunk_type = adc_chunk_type(*inp); switch (chunk_type) { diff --git a/dmg2img.c b/dmg2img.c -index 12be603..2c877e3 100644 +index 828308c..e117b71 100644 --- a/dmg2img.c +++ b/dmg2img.c @@ -112,6 +112,8 @@ int main(int argc, char *argv[]) @@ -40,7 +40,7 @@ index 12be603..2c877e3 100644 for (i = 1; i < argc; i++) { if (!strcmp(argv[i], "-s")) -@@ -181,9 +183,8 @@ int main(int argc, char *argv[]) +@@ -173,9 +175,8 @@ int main(int argc, char *argv[]) fseeko(FIN, 0, SEEK_SET); read_kolyblk(FIN, &kolyblk); } @@ -51,7 +51,7 @@ index 12be603..2c877e3 100644 memcpy(szSignature, &rSignature, 4); if (debug) { -@@ -221,6 +222,7 @@ int main(int argc, char *argv[]) +@@ -213,6 +214,7 @@ int main(int argc, char *argv[]) printf("Debug info will be written to dmg2img.log\n\n"); if (kolyblk.XMLOffset != 0 && kolyblk.XMLLength != 0) { @@ -59,7 +59,7 @@ index 12be603..2c877e3 100644 //We have a plist to parse if (verbose > 1) printf("reading property list, %llu bytes from address %llu ...\n", (unsigned long long)kolyblk.XMLLength, (unsigned long long)kolyblk.XMLOffset); -@@ -237,7 +239,7 @@ int main(int argc, char *argv[]) +@@ -229,7 +231,7 @@ int main(int argc, char *argv[]) if (debug && verbose >= 3) { fprintf(FDBG, "%s\n", plist); } @@ -68,7 +68,7 @@ index 12be603..2c877e3 100644 blkx_size = strstr(_blkx_begin, list_end) - _blkx_begin; blkx = (char *)malloc(blkx_size + 1); memcpy(blkx, _blkx_begin, blkx_size); -@@ -253,6 +255,7 @@ int main(int argc, char *argv[]) +@@ -245,6 +247,7 @@ int main(int argc, char *argv[]) scb = strlen(chunk_begin); while (1) { unsigned int tmplen; @@ -76,7 +76,7 @@ index 12be603..2c877e3 100644 data_begin = strstr(data_begin, chunk_begin); if (!data_begin) break; -@@ -266,7 +269,7 @@ int main(int argc, char *argv[]) +@@ -258,7 +261,7 @@ int main(int argc, char *argv[]) if (!parts) mem_overflow(); @@ -85,7 +85,7 @@ index 12be603..2c877e3 100644 if (!base64data) mem_overflow(); base64data[data_size] = '\0'; -@@ -303,6 +306,8 @@ int main(int argc, char *argv[]) +@@ -295,6 +298,8 @@ int main(int argc, char *argv[]) printf("partition %d: %s\n", i, partname); } } else if (kolyblk.RsrcForkOffset != 0 && kolyblk.RsrcForkLength != 0) { @@ -94,7 +94,7 @@ index 12be603..2c877e3 100644 //We have a binary resource fork to parse plist = (char *)malloc(kolyblk.RsrcForkLength); if (!plist) -@@ -310,8 +315,7 @@ int main(int argc, char *argv[]) +@@ -302,8 +307,7 @@ int main(int argc, char *argv[]) fseeko(FIN, kolyblk.RsrcForkOffset, SEEK_SET); fread(plist, kolyblk.RsrcForkLength, 1, FIN); partnum = 0; @@ -104,15 +104,15 @@ index 12be603..2c877e3 100644 mish_begin = plist + 0x104; while (1) { mish_begin += next_mishblk; -@@ -375,6 +379,7 @@ int main(int argc, char *argv[]) +@@ -377,6 +381,7 @@ int main(int argc, char *argv[]) in_offs = add_offs = in_offs_add = kolyblk.DataForkOffset; - for (i = extractpart==-1?0:extractpart; i < (extractpart==-1?partnum:extractpart+1) && in_offs < kolyblk.DataForkLength - kolyblk.DataForkOffset; i++) { + for (i = extractpart==-1?0:extractpart; i < (extractpart==-1?partnum:extractpart+1) && in_offs <= kolyblk.DataForkLength - kolyblk.DataForkOffset; i++) { + unsigned long bi; if (verbose) printf("opening partition %d ... ", i); if (verbose >= 3) -@@ -388,7 +393,7 @@ int main(int argc, char *argv[]) +@@ -390,7 +395,7 @@ int main(int argc, char *argv[]) if (debug) { fprintf(FDBG, "\n run..... ..type.... ..reserved ..sectorStart..... ..sectorCount..... ..compOffset...... ..compLength......\n"); } @@ -121,7 +121,7 @@ index 12be603..2c877e3 100644 while (block_type != BT_TERM && offset < parts[i].BlocksRunCount * 0x28) { block_type = convert_char4((unsigned char *)parts[i].Data + offset); dw_reserved = convert_char4((unsigned char *)parts[i].Data + offset + 4); -@@ -550,14 +555,14 @@ int main(int argc, char *argv[]) +@@ -552,14 +557,14 @@ int main(int argc, char *argv[]) fseeko(FIN, in_offs + add_offs, SEEK_SET); to_read = in_size; while (to_read > 0) { @@ -130,7 +130,7 @@ index 12be603..2c877e3 100644 to_write = fread(tmp, 1, chunk, FIN); if (ferror(FIN) || to_write < chunk) { printf("ERROR: reading file %s\n", input_file); - return 0; + return 1; } - int bytes_written; - int read_from_input = adc_decompress(to_write, tmp, DECODEDSIZE, dtmp, &bytes_written); @@ -165,5 +165,5 @@ index 0e3a8fe..7c7da52 100644 read_gpt_header(F, &gpt_header); -- -2.11.1 +2.14.2