icu 3.6: do_install failed: Segmentation fault

There is a "Segmentation fault" error when the tmpdir is longer than 470
(or less), this is because it used "char cmd[1024]" which is not enough
for the command line. Allocate a larger memory size should fix this problem.

[YOCTO #2664]

(From OE-Core rev: 3fd5d0334439b6231a6afd2a544a16b87ae81c99)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang 2012-06-29 09:45:26 +08:00 committed by Richard Purdie
parent 44fe9de20d
commit 7449260c75
3 changed files with 29 additions and 1 deletions

View File

@ -0,0 +1,27 @@
Allocate a larger memory size for cmd
The length of the command line can be longer than 1024 sometimes,
which will cause a "Segmentation fault" error.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Upstream-Status: Pending
---
tools/pkgdata/pkgdata.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/pkgdata/pkgdata.c b/tools/pkgdata/pkgdata.c
--- a/tools/pkgdata/pkgdata.c
+++ b/tools/pkgdata/pkgdata.c
@@ -439,7 +439,7 @@ main(int argc, char* argv[]) {
/* POSIX - execute makefile */
static int executeMakefile(const UPKGOptions *o)
{
- char cmd[1024];
+ char cmd[2048];
/*char pwd[1024];*/
const char *make;
int rc;
--
1.7.10.2

View File

@ -6,6 +6,7 @@ BASE_SRC_URI = "ftp://ftp.software.ibm.com/software/globalization/icu/3.6/icu4c-
file://gccfix.patch \
file://fix-parallel-build.patch \
file://use-g++-for-linking.patch \
file://larger-cmd-size.patch \
"
SRC_URI = "${BASE_SRC_URI} \
file://noldlibpath.patch \

View File

@ -1,6 +1,6 @@
require icu-3.6.inc
PR = "r8"
PR = "r9"
SRC_URI[md5sum] = "6243f7a19e03e05403ce84e597510d4c"
SRC_URI[sha256sum] = "5135e8d69d6206d320515df7aeee7027711ab1aef9d8dbf29571a97a9746b041"