Bug #78342 [Ver->Csd]: Bus error in configure test for iconv //IGNORE

From: Date: Mon, 29 Jul 2019 06:52:56 +0000
Subject: Bug #78342 [Ver->Csd]: Bus error in configure test for iconv //IGNORE
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-221965@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=78342&edit=1 ID: 78342 Updated by: cmb@php.net Reported by: rainer dot jung at kippdata dot de Summary: Bus error in configure test for iconv //IGNORE -Status: Verified +Status: Closed Type: Bug Package: *Compile Issues Operating System: Solaris 10 Sparc PHP Version: 7.2Git-2019-07-29 (Git) Assigned To: cmb Block user comment: N Private report: N New Comment: Automatic comment on behalf of cmbecker69@gmx.de Revision: http://git.php.net/?p=php-src.git;a=commit;h=30eb4b3563f508019d306c3c62311f43d4ce6682 Log: Fix #78342: Bus error in configure test for iconv //IGNORE Previous Comments: ------------------------------------------------------------------------ [2019-07-29 06:48:56] cmb@php.net Thanks for reporting this issue and providing a patch. Since this is certainly a bug, the fix should target PHP-7.2. ------------------------------------------------------------------------ [2019-07-28 18:46:50] rainer dot jung at kippdata dot de The following patch has been added/updated: Patch Name: php-configure-iconv-ignore.patch Revision: 1564339610 URL: https://bugs.php.net/patch-display.php?bug=78342&patch=php-configure-iconv-ignore.patch&revision=1564339610 ------------------------------------------------------------------------ [2019-07-28 18:46:03] rainer dot jung at kippdata dot de Description: ------------ The configure test for iconv //IGNORE results in a Bus error on Solaris 10 Sparc. It occurs on recent 7.4 beta, but also in current 7.2 and probably dates back much further. The crash is due to the following snippet in file ext/iconv/config.m4: int main() { iconv_t cd = iconv_open( "UTF-8//IGNORE", "UTF-8" ); => no check for result of iconv_open here! char *in_p = "\xC3\xC3\xC3\xB8"; size_t in_left = 4, out_left = 4096; char *out = malloc(out_left); char *out_p = out; size_t result = iconv(cd, (char **) &in_p, &in_left, (char **) &out_p, &out_left); if(result == (size_t)-1) { return 1; } return 0; } Test script: --------------- Run configure on Solaris 10 Sparc. config.log shows: configure:37401: checking if iconv supports //IGNORE ... configure:37435: ./conftest ./configure[20]: 4274 Bus Error(coredump) configure:37435: $? = 138 configure: program exited with status 138 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=78342&edit=1

« previous php.bugs (#221965) next »