icu-native: do_install: Segmentation fault

There was a "Segmentation fault" error when build icu-native when the
TMPDIR is in a deep directory (for example, when len(readlink -f $TMPDIR
== 410)), use LARGE_BUFFER_MAX_SIZE for cmd rather than
SMALL_BUFFER_MAX_SIZE would fix the problem, this should be a misplay
because other cmd uses LARGE_BUFFER_MAX_SIZE.

[YOCTO #5171]

(From OE-Core rev: ebfdddc23ff78231a819c62c8ffcced9633aa08b)

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
2013-09-12 05:33:36 -04:00
committed by Richard Purdie
parent 0c11a7740b
commit ee7ccda0ec
2 changed files with 32 additions and 1 deletions

View File

@@ -0,0 +1,29 @@
pkgdata.cpp: use LARGE_BUFFER_MAX_SIZE for cmd
Use LARGE_BUFFER_MAX_SIZE for cmd rather than SMALL_BUFFER_MAX_SIZE,
otherwise there was a Segmentation fault error when the command line is
long, this should be a misplay since other cmd uses
LARGE_BUFFER_MAX_SIZE.
Upstream-Status: Pending
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
tools/pkgdata/pkgdata.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/pkgdata/pkgdata.cpp b/tools/pkgdata/pkgdata.cpp
--- a/tools/pkgdata/pkgdata.cpp
+++ b/tools/pkgdata/pkgdata.cpp
@@ -1019,7 +1019,7 @@ normal_symlink_mode:
static int32_t pkg_installLibrary(const char *installDir, const char *targetDir, UBool noVersion) {
int32_t result = 0;
- char cmd[SMALL_BUFFER_MAX_SIZE];
+ char cmd[LARGE_BUFFER_MAX_SIZE];
sprintf(cmd, "cd %s && %s %s %s%s%s",
targetDir,
--
1.7.10.4

View File

@@ -5,7 +5,9 @@ LIC_FILES_CHKSUM = "file://../license.html;md5=443a74288a72fad9069a74e7637192c1"
PR = "r0"
BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-51_2-src.tgz"
SRC_URI = "${BASE_SRC_URI}"
SRC_URI = "${BASE_SRC_URI} \
file://icu-pkgdata-large-cmd.patch \
"
SRC_URI[md5sum] = "072e501b87065f3a0ca888f1b5165709"
SRC_URI[sha256sum] = "deb027a05f1b3bec03298b96fb93b28c84e9683c22e6f94effa67fdc7bd704cc"