|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2010-07-20 15:06 UTC] mgdm@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 07:00:01 2025 UTC |
Description: ------------ Memory corruption on 64bit oses. On 32bit systems sizeof(long)=4 bytes, but on 64bit systems sizeof(long)=8 bytes. When using zend_parse_parameters() "l" modifier, the receiving argument must be long, not int. Here is the patch that fixes these issues: --- gnupg.c.orig 2010-07-02 10:44:22.000000000 +0300 +++ gnupg.c 2010-07-02 11:21:25.000000000 +0300 @@ -472,7 +472,7 @@ * >0 = on * */ PHP_FUNCTION(gnupg_setarmor){ - int armor; + long armor; GNUPG_GETOBJ(); @@ -498,7 +498,7 @@ /* {{{ proto bool gnupg_seterrormode(int errormde) */ PHP_FUNCTION(gnupg_seterrormode){ - int errormode; + long errormode; GNUPG_GETOBJ(); @@ -533,7 +533,7 @@ * sets the mode for signing operations */ PHP_FUNCTION(gnupg_setsignmode){ - int signmode; + long signmode; GNUPG_GETOBJ(); @@ -1396,7 +1396,7 @@ PHP_FUNCTION(gnupg_deletekey){ char *key; int key_len; - int allow_secret = 0; + long allow_secret = 0; gpgme_key_t gpgme_key;