summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/libarchive/libarchive/0001-Patch-from-upstream-revision-1990.patch
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2011-06-16 20:02:46 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-07-08 17:20:57 +0100
commite5fef6bc21c1046a8f08c27f8fcb27322d56008b (patch)
tree55ef509bdab736527436a369510f0938c1f82914 /meta/recipes-extended/libarchive/libarchive/0001-Patch-from-upstream-revision-1990.patch
parentb626de02f78af6189a115d2f3eb94a24fbd5bc16 (diff)
downloadpoky-e5fef6bc21c1046a8f08c27f8fcb27322d56008b.tar.gz
libarchive: add 2.8.4 version
This recipe has been imported from OpenEmbedded (rev 6db4b9050e0e8b963e2a6b63790e48e3042ea99e). (From OE-Core rev: 292a45064aa9926868c798341dc72f183c5de076) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-extended/libarchive/libarchive/0001-Patch-from-upstream-revision-1990.patch')
-rw-r--r--meta/recipes-extended/libarchive/libarchive/0001-Patch-from-upstream-revision-1990.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/meta/recipes-extended/libarchive/libarchive/0001-Patch-from-upstream-revision-1990.patch b/meta/recipes-extended/libarchive/libarchive/0001-Patch-from-upstream-revision-1990.patch
new file mode 100644
index 0000000000..f65f89f46b
--- /dev/null
+++ b/meta/recipes-extended/libarchive/libarchive/0001-Patch-from-upstream-revision-1990.patch
@@ -0,0 +1,42 @@
1libarchive: Backport patch from upstream (revision 1990)
2
3Upstream-Status: Backport
4
5Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
6
7diff --git a/libarchive/archive_read_disk_entry_from_file.c b/libarchive/archive_read_disk_entry_from_file.c
8index 7473c50..27671df 100644
9--- a/libarchive/archive_read_disk_entry_from_file.c
10+++ b/libarchive/archive_read_disk_entry_from_file.c
11@@ -163,15 +163,26 @@ archive_read_disk_entry_from_file(struct archive *_a,
12
13 #ifdef HAVE_READLINK
14 if (S_ISLNK(st->st_mode)) {
15- char linkbuffer[PATH_MAX + 1];
16- int lnklen = readlink(path, linkbuffer, PATH_MAX);
17+ size_t linkbuffer_len = st->st_size + 1;
18+ char *linkbuffer;
19+ int lnklen;
20+
21+ linkbuffer = malloc(linkbuffer_len);
22+ if (linkbuffer == NULL) {
23+ archive_set_error(&a->archive, ENOMEM,
24+ "Couldn't read link data");
25+ return (ARCHIVE_FAILED);
26+ }
27+ lnklen = readlink(path, linkbuffer, linkbuffer_len);
28 if (lnklen < 0) {
29 archive_set_error(&a->archive, errno,
30 "Couldn't read link data");
31+ free(linkbuffer);
32 return (ARCHIVE_FAILED);
33 }
34 linkbuffer[lnklen] = 0;
35 archive_entry_set_symlink(entry, linkbuffer);
36+ free(linkbuffer);
37 }
38 #endif
39
40--
411.7.1
42