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:57 +0100 |
commit | e5fef6bc21c1046a8f08c27f8fcb27322d56008b (patch) | |
tree | 55ef509bdab736527436a369510f0938c1f82914 /meta/recipes-extended/libarchive/libarchive/0001-Patch-from-upstream-revision-1990.patch | |
parent | b626de02f78af6189a115d2f3eb94a24fbd5bc16 (diff) | |
download | poky-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.patch | 42 |
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 @@ | |||
1 | libarchive: Backport patch from upstream (revision 1990) | ||
2 | |||
3 | Upstream-Status: Backport | ||
4 | |||
5 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
6 | |||
7 | diff --git a/libarchive/archive_read_disk_entry_from_file.c b/libarchive/archive_read_disk_entry_from_file.c | ||
8 | index 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 | -- | ||
41 | 1.7.1 | ||
42 | |||