diff options
author | Otavio Salvador <otavio@ossystems.com.br> | 2011-06-16 20:02:46 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-07-08 17:20:16 +0100 |
commit | 292a45064aa9926868c798341dc72f183c5de076 (patch) | |
tree | 176d929370e08bf276a7633a69cac602986ef57e /meta/recipes-extended/libarchive/libarchive/0003-Patch-from-upstream-rev-2516.patch | |
parent | 0fd46295920c33d8f35bf266f62762f2ef86f17b (diff) | |
download | openembedded-core-292a45064aa9926868c798341dc72f183c5de076.tar.gz openembedded-core-292a45064aa9926868c798341dc72f183c5de076.tar.bz2 openembedded-core-292a45064aa9926868c798341dc72f183c5de076.tar.xz openembedded-core-292a45064aa9926868c798341dc72f183c5de076.zip |
libarchive: add 2.8.4 version
This recipe has been imported from OpenEmbedded (rev
6db4b9050e0e8b963e2a6b63790e48e3042ea99e).
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'meta/recipes-extended/libarchive/libarchive/0003-Patch-from-upstream-rev-2516.patch')
-rw-r--r-- | meta/recipes-extended/libarchive/libarchive/0003-Patch-from-upstream-rev-2516.patch | 63 |
1 files changed, 63 insertions, 0 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 new file mode 100644 index 000000000..0193a07d1 --- /dev/null +++ b/meta/recipes-extended/libarchive/libarchive/0003-Patch-from-upstream-rev-2516.patch @@ -0,0 +1,63 @@ +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 + |