#41765 [Opn->Csd]: Recode crashes/does not work on amd64

From: Date: Fri, 22 Jun 2007 00:07:24 +0000
Subject: #41765 [Opn->Csd]: Recode crashes/does not work on amd64
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-114066@lists.php.net to get a copy of this message
ID: 41765 Updated by: stas@php.net Reported By: nexus at smoula dot net -Status: Open +Status: Closed Bug Type: Recode related Operating System: Gentoo Linux PHP Version: 5CVS-2007-06-21 (CVS) New Comment: This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2007-06-21 14:26:29] nexus at smoula dot net Description: ------------ When using recode extension on amd64 system I've got two states - Crash (SIGSEGV) - zero-length string output from recode_string function. This problem is relevant only on 64bit systems. Here is a little patch which helps. diff -ruN php5/ext/recode/recode.c php5-b/ext/recode/recode.c --- php5/ext/recode/recode.c 2007-01-01 10:36:05.000000000 +0100 +++ php5-b/ext/recode/recode.c 2007-06-21 16:16:31.000000000 +0200 @@ -132,7 +132,7 @@ { RECODE_REQUEST request = NULL; char *r = NULL; - int r_len = 0, r_alen = 0; + size_t r_len = 0, r_alen = 0; int req_len, str_len; char *req, *str; I'm not a C programmer, so please review this patch and consequences It's going to have Reproduce code: --------------- <?php echo recode_string("utf-8..flat","aaaa"); ?> Expected result: ---------------- should return aaaa Actual result: -------------- instead returns zero length string or crashes with sigsegv ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41765&edit=1

« previous php.bugs (#114066) next »