diff options
Diffstat (limited to 'meta/recipes-extended/libarchive')
-rw-r--r-- | meta/recipes-extended/libarchive/libarchive/0003-Patch-from-upstream-rev-2516.patch | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/meta/recipes-extended/libarchive/libarchive/0003-Patch-from-upstream-rev-2516.patch b/meta/recipes-extended/libarchive/libarchive/0003-Patch-from-upstream-rev-2516.patch deleted file mode 100644 index 0193a07d19..0000000000 --- a/meta/recipes-extended/libarchive/libarchive/0003-Patch-from-upstream-rev-2516.patch +++ /dev/null @@ -1,63 +0,0 @@ -libarchive: Backport patch from upstream (rev 2516) - -Fix Issue 100: Allow a zero for the Type M Path Table Location, since -WinISO (and probably other programs) set it this way. - -http://code.google.com/p/libarchive/source/detail?r=2516 - -Upstream-Status: Backport - -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> - -diff --git a/libarchive/archive_read_support_format_iso9660.c b/libarchive/archive_read_support_format_iso9660.c -index 0c640c8..fdef3fb 100644 ---- a/libarchive/archive_read_support_format_iso9660.c -+++ b/libarchive/archive_read_support_format_iso9660.c -@@ -714,11 +714,13 @@ isSVD(struct iso9660 *iso9660, const unsigned char *h) - if (location <= SYSTEM_AREA_BLOCK+2 || location >= volume_block) - return (0); - -- /* Location of Occurrence of Type M Path Table must be -- * available location, -+ /* The Type M Path Table must be at a valid location (WinISO -+ * and probably other programs omit this, so we allow zero) -+ * - * > SYSTEM_AREA_BLOCK(16) + 2 and < Volume Space Size. */ - location = archive_be32dec(h+SVD_type_M_path_table_offset); -- if (location <= SYSTEM_AREA_BLOCK+2 || location >= volume_block) -+ if ((location > 0 && location <= SYSTEM_AREA_BLOCK+2) -+ || location >= volume_block) - return (0); - - /* Read Root Directory Record in Volume Descriptor. */ -@@ -790,7 +792,8 @@ isEVD(struct iso9660 *iso9660, const unsigned char *h) - * available location, - * > SYSTEM_AREA_BLOCK(16) + 2 and < Volume Space Size. */ - location = archive_be32dec(h+PVD_type_m_path_table_offset); -- if (location <= SYSTEM_AREA_BLOCK+2 || location >= volume_block) -+ if ((location > 0 && location <= SYSTEM_AREA_BLOCK+2) -+ || location >= volume_block) - return (0); - - /* Reserved field must be 0. */ -@@ -865,11 +868,14 @@ isPVD(struct iso9660 *iso9660, const unsigned char *h) - if (location <= SYSTEM_AREA_BLOCK+2 || location >= volume_block) - return (0); - -- /* Location of Occurrence of Type M Path Table must be -- * available location, -+ /* The Type M Path Table must also be at a valid location -+ * (although ECMA 119 requires a Type M Path Table, WinISO and -+ * probably other programs omit it, so we permit a zero here) -+ * - * > SYSTEM_AREA_BLOCK(16) + 2 and < Volume Space Size. */ - location = archive_be32dec(h+PVD_type_m_path_table_offset); -- if (location <= SYSTEM_AREA_BLOCK+2 || location >= volume_block) -+ if ((location > 0 && location <= SYSTEM_AREA_BLOCK+2) -+ || location >= volume_block) - return (0); - - /* Reserved field must be 0. */ --- -1.7.1 - |