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]

Reply via email to