Package: php4-spplus Version: 1.0-4 Severity: grave Tags: sid patch Justification: renders package unusable
Hi, our web agency use the php_spplus module in debian testing... Last week, we made an update/upgrade of : php* and apache* packages (with the classic apt-get upgrade)... All seems to work right, but not php_spplus. The payment page, which calls spplus functions (calculhmac, ...) and the page is not displayed, and apache logs (error.log) contain this : [Fri Mar 4 11:14:17 2005] [notice] child pid 11375 exit signal Segmentation fault (11) [Fri Mar 4 11:14:17 2005] [notice] child pid 11366 exit signal Segmentation fault (11) [Fri Mar 4 11:14:17 2005] [notice] child pid 11365 exit signal Segmentation fault (11) Well, it doesn't work anymore. I searched during 3 hours without any succes. I used sources, patched with debian source patch, recompiled... nothing better. ... I searched a little bit more, and i think i found the problem... The "zend_parse_parameters" function used in php_spplus.c need (now ?) a different parameter in first argument. So, the first parameter of each function 'zend_parse_parameters' must be: ZEND_NUM_ARGS() TSRMLS_CC So, the 'Segmentation fault' probably came from the 'zend_parse_parameters' function which crashes... See, in attachment, my diff file between php_spplus.c ORIGINAL file and php_spplus.c file corrected by me. I made a quick test with our paiement page, and it works. Thanks. ------------- --- spplus-1.0.orig/php_spplus.c 2004-01-19 10:50:55.000000000 +0100 +++ spplus-1.0/php_spplus.c 2005-03-04 12:19:04.000000000 +0100 @@ -80,7 +80,7 @@ int iclent_len, icodesiret_len, imontant_len, ireference_len, ivalidite_len, itaxe_len, idevise_len, ilangue_len; char *result; - if (zend_parse_parameters(8, "ssssssss", &iclent, &iclent_len, &icodesiret, &icodesiret_len, &ireference, &ireference_len, &ilangue, &ilangue_len, &idevise, &idevise_len, &imontant, &imontant_len, &itaxe, &itaxe_len, &ivalidite, &ivalidite_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssssssss", &iclent, &iclent_len, &icodesiret, &icodesiret_len, &ireference, &ireference_len, &ilangue, &ilangue_len, &idevise, &idevise_len, &imontant, &imontant_len, &itaxe, &itaxe_len, &ivalidite, &ivalidite_len) == FAILURE) { WRONG_PARAM_COUNT; } @@ -97,7 +97,7 @@ int iclent_len, idata_len; char *result; - if (zend_parse_parameters(2, "ss", &iclent, &iclent_len, &idata, &idata_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &iclent, &iclent_len, &idata, &idata_len) == FAILURE) { WRONG_PARAM_COUNT; } @@ -114,7 +114,7 @@ int iclent_len, idata_len; char *result; - if (zend_parse_parameters(2, "ss", &iclent, &iclent_len, &idata, &idata_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &iclent, &iclent_len, &idata, &idata_len) == FAILURE) { WRONG_PARAM_COUNT; } @@ -131,7 +131,7 @@ int iclent_len, idata_len; char *result; - if (zend_parse_parameters(2, "ss", &iclent, &iclent_len, &idata, &idata_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &iclent, &iclent_len, &idata, &idata_len) == FAILURE) { WRONG_PARAM_COUNT; } -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.4.26-intelliance Locale: LANG=fr_FR, LC_CTYPE=fr_FR (charmap=ISO-8859-1) Versions of packages php4-spplus depends on: ii libapache-mod-php4 [phpapi- 4:4.3.10-8 server-side, HTML-embedded scripti ii libc6 2.3.2.ds1-20 GNU C Library: Shared libraries an ii php4-cgi [phpapi-20020918-z 4:4.3.10-8 server-side, HTML-embedded scripti ii php4-cli [phpapi-20020918-z 4:4.3.10-8 command-line interpreter for the p -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]