#45620 [NEW]: Stacktrace report wrong call type

2008-07-24 Thread kelvin at netbasic dot co dot uk
From: kelvin at netbasic dot co dot uk
Operating system: CentOS 5
PHP version:  5.2.6
PHP Bug Type: Class/Object related
Bug description:  Stacktrace report wrong call type

Description:

When calling a static function from inside of a class the backtrace /
stacktrace reports the call as a normal object call, i.e. its showing ->,
where it really should show ::

Reproduce code:
---
";
debug_print_backtrace();
echo "";
}
}

$obj = new testA();
$obj->funcA();

?>

Expected result:

#0  testB::funcB() called at [/home/site3/public_html/t1.php:7]
#1  testA->funcA() called at [/home/site3/public_html/t1.php:23]



Actual result:
--
#0  testB->funcB() called at [/home/site3/public_html/t1.php:7]
#1  testA->funcA() called at [/home/site3/public_html/t1.php:23]



-- 
Edit bug report at http://bugs.php.net/?id=45620&edit=1
-- 
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=45620&r=trysnapshot52
Try a CVS snapshot (PHP 5.3): 
http://bugs.php.net/fix.php?id=45620&r=trysnapshot53
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=45620&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=45620&r=fixedcvs
Fixed in release: 
http://bugs.php.net/fix.php?id=45620&r=alreadyfixed
Need backtrace:   http://bugs.php.net/fix.php?id=45620&r=needtrace
Need Reproduce Script:http://bugs.php.net/fix.php?id=45620&r=needscript
Try newer version:http://bugs.php.net/fix.php?id=45620&r=oldversion
Not developer issue:  http://bugs.php.net/fix.php?id=45620&r=support
Expected behavior:http://bugs.php.net/fix.php?id=45620&r=notwrong
Not enough info:  
http://bugs.php.net/fix.php?id=45620&r=notenoughinfo
Submitted twice:  
http://bugs.php.net/fix.php?id=45620&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=45620&r=globals
PHP 4 support discontinued:   http://bugs.php.net/fix.php?id=45620&r=php4
Daylight Savings: http://bugs.php.net/fix.php?id=45620&r=dst
IIS Stability:http://bugs.php.net/fix.php?id=45620&r=isapi
Install GNU Sed:  http://bugs.php.net/fix.php?id=45620&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=45620&r=float
No Zend Extensions:   http://bugs.php.net/fix.php?id=45620&r=nozend
MySQL Configuration Error:http://bugs.php.net/fix.php?id=45620&r=mysqlcfg



#45573 [Opn->Bgs]: unserialize does not work if a linebreak is inside the input string

2008-07-24 Thread jani
 ID:   45573
 Updated by:   [EMAIL PROTECTED]
 Reported By:  t_mueller_stolzenhain at yahoo dot de
-Status:   Open
+Status:   Bogus
 Bug Type: CGI related
 Operating System: windows2003
 PHP Version:  5.2CVS-2008-07-23
 Assigned To:  fb-req-jani
 New Comment:

As long as there is no preproducing script, there is no problem either.


Previous Comments:


[2008-07-24 21:10:21] t_mueller_stolzenhain at yahoo dot de

I don't have a sample script (I'm not able to create an text with two
different line endings in it), but I found the reason for that issue:

As you know, PEAR is storing some information inside the .registry
directory in *.reg files. Some of these files I found converted to the
windows style, means they had a windows line ending ("\15\12") instead
of the linux line ending ("\12").

After reformating these files with the linux line ending, the error
messages disappeared, and the PEAR update was running without any error
messages.

I asume, the most of the files on a windows computer have the windows
line ending included, not the linux line ending.

PHP is able to detect that it is running on a windows computer, and
unserialize should be able to handle the windows line ending without
error message.



[2008-07-24 00:31:50] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with ,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.





[2008-07-23 21:40:29] t_mueller_stolzenhain at yahoo dot de

I tried the package from
http://snaps.php.net/win32/php5.2-win32-latest.zip, but the error is
still there.

I changed the category for this bug, because the PEAR update was not
running inside the browser, it was running inside a dos window.



[2008-07-20 20:23:11] t_mueller_stolzenhain at yahoo dot de

Description:

After updating PHP to version 5.2.6 on a windows 2003 server running
under IIS, it was not possible to update PEAR anymore. Each package
created some error messages like

Notice: unserialize(): Error at offset 1139 of 4783 bytes in
PEAR\Registry.php on line 1062


After putting the line

$data = str_replace("\15\12", "\12", $data);

before the unserialize-including line, the error message disappeared an
I was able to update PEAR again.

I asume, this is an IIS related issue, because on an other Computer
with PHP 5.2.5 (running on Win XP and Apache) are no error messages.

Reproduce code:
---
These are the lines 1058-1064 from /PEAR/PEAR/Registry.php including
one line with an fix

$this->_closePackageFile($fp);
$data = file_get_contents($this->_packageFileName($package,
$channel));
set_magic_quotes_runtime($rt);
$data = str_replace("\15\12", "\12", $data);//additional line
with fix
$data = unserialize($data);
if ($key === null) {
return $data;
}

Expected result:

no error message

Actual result:
--
e.g.

Notice: unserialize(): Error at offset 1139 of 4783 bytes in
PEAR\Registry.php on line 1062






-- 
Edit this bug report at http://bugs.php.net/?id=45573&edit=1



#42849 [Com]: Configuration File (php.ini) Path incorrect

2008-07-24 Thread george at protogenlabs dot com
 ID:   42849
 Comment by:   george at protogenlabs dot com
 Reported By:  inglis-php at yahoo dot com dot au
 Status:   No Feedback
 Bug Type: *General Issues
 Operating System: win xp pro
 PHP Version:  5.2.4
 New Comment:

I am running a fresh copy of Windows Server 2008 with IIS7, and ran
into this exact same issue as well. I did the manual install and
properly added C:\PHP into the PATH system variable. PHP is working,
however it wasn't reading the php.ini which was in C:\PHP, so it was
technically running with its default config.

I know that this is not the preferred way to fix something like this,
but I found that having 2 identical copies of php.ini (one in C:\PHP,
and one in C:\Windows), lead to this problem getting fixed. 

After that, php_MySQL.dll and all other custom configs showed up, and
it was smooth sailing after that. Too bad I wasted about 5 hours of my
life though...

Hope this helps anyone experiencing the same thing, and if a proper bug
fix ever gets released, it would be even better!


Previous Comments:


[2008-07-23 18:55:18] marc dot gerardi at gmail dot com

This is occurring in PHP Version 5.2.6 as well.

Running into the same issue...php info output:

Configuration File (php.ini) Path   C:\WINDOWS
Loaded Configuration File   (none) 

VPS Container:
Windows 2003 Server
SP2
IIS 6.0
PHP Version 5.2.6



[2008-07-13 12:30:26] pip at pip dot co dot za

Ok... I am now at the end of my patience with this. I've followed every
single post I could find on the topic, and not one of them has worked
for me.

After reading orbital_man's post, I thought I finally tracked down a
fix, but even that hasn't worked for me. My setup is like such:

PHP 5.2.6
Windows Vista Ultimate (IIS 6)

I've configured PHP using the ZIP archive and manual installation. I've
been installing and running PHP this way since I started using PHP 6
years ago, and never had problems. I can do it with my eyes closed and
by typing with my nose, so I know I am following every step I should be,
needless to mention that I do follow the installation manual every time
for in case there are changes.

In conclusion, PHP does not see my ini file, and whatever extensions I
load and configure in php does not have affect on my installation, which
is the issue, because I need MySQL loaded. Somebody please give us some
guidence here.

Thanx.

Pip



[2008-05-20 20:15:08] james at thundermonkey dot net

I've found that the positioning of the PHPIniDir within httpd.conf
makes a difference - place it at the end and it loads the correct
php.ini, but place it towards the top of httpd.conf results in the no
php.ini being loaded at all.

Also be sure to explicitly define your extension_dir directive in
php.ini to load extensions correctly.



[2008-04-20 04:46:25] orbital_man at hotmail dot com

Additional test case:

OS: Windows XP Pro
Webserver: IIS 5.1
PHP: 5.2.5

phpinfo() produced:

Configuration File (php.ini) Path   C:\WINDOWS
Loaded Configuration File   (none)

After unsuccessful testing most of the night with environment variables
including multiple reboots just to be sure, I finally broke down and
changed the registry value as recommended in the runtime configuration
section here: http://us3.php.net/configuration

Steps to reproduce:
1. Click Start -> Click Run -> Type Regedit -> Hit Enter
2. Browse to HKEY_LOCAL_MACHINE\SOFTWARE\PHP\
3. Right click in right-hand window pane and select New->String Value
4. Set Name to: IniFilePath
5. Set Data to: C:\Program Files\PHP\ (or wherever your installation
is)
6. Click Start -> Click Run -> Type cmd -> Hit Enter -> Type iisreset

phpinfo() now produces:

Configuration File (php.ini) Path   C:\WINDOWS
Loaded Configuration File   C:\Program Files\PHP\php.ini

Additionally, my mysql database is now working also.



[2008-04-13 17:20:35] thakralrohit at gmail dot com

I am having a similar problem. Have been trying to search on the web
for the whole day now but no success. I have this,
OS: Win XP Pro SP 2
IIS: 5.1
PHP: 5.2.5 (MSI Installer with MySQL)

Now, when I load phpinfo() I get output,
Configuration File (php.ini) Path   E:\WINDOWS
Loaded Configuration File   (none) 

No information about the three extensions that I have MySQL, MySQLi and
OpenSSL.

If I put the php.ini file in E:\WINDOWS directory nothing loads at
all.
I have tried re-installation, PHPRC environment variable setting and
Registry Settings but to no use. There is another setting further down
in the phpinfo() output,

extension_dir   C:\php5 

Can someone please help. It seems like similar to this bu

#45573 [Fbk->Opn]: unserialize does not work if a linebreak is inside the input string

2008-07-24 Thread t_mueller_stolzenhain at yahoo dot de
 ID:   45573
 User updated by:  t_mueller_stolzenhain at yahoo dot de
 Reported By:  t_mueller_stolzenhain at yahoo dot de
-Status:   Feedback
+Status:   Open
 Bug Type: CGI related
 Operating System: windows2003
 PHP Version:  5.2CVS-2008-07-23
 Assigned To:  fb-req-jani
 New Comment:

I don't have a sample script (I'm not able to create an text with two
different line endings in it), but I found the reason for that issue:

As you know, PEAR is storing some information inside the .registry
directory in *.reg files. Some of these files I found converted to the
windows style, means they had a windows line ending ("\15\12") instead
of the linux line ending ("\12").

After reformating these files with the linux line ending, the error
messages disappeared, and the PEAR update was running without any error
messages.

I asume, the most of the files on a windows computer have the windows
line ending included, not the linux line ending.

PHP is able to detect that it is running on a windows computer, and
unserialize should be able to handle the windows line ending without
error message.


Previous Comments:


[2008-07-24 00:31:50] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with ,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.





[2008-07-23 21:40:29] t_mueller_stolzenhain at yahoo dot de

I tried the package from
http://snaps.php.net/win32/php5.2-win32-latest.zip, but the error is
still there.

I changed the category for this bug, because the PEAR update was not
running inside the browser, it was running inside a dos window.



[2008-07-20 20:23:11] t_mueller_stolzenhain at yahoo dot de

Description:

After updating PHP to version 5.2.6 on a windows 2003 server running
under IIS, it was not possible to update PEAR anymore. Each package
created some error messages like

Notice: unserialize(): Error at offset 1139 of 4783 bytes in
PEAR\Registry.php on line 1062


After putting the line

$data = str_replace("\15\12", "\12", $data);

before the unserialize-including line, the error message disappeared an
I was able to update PEAR again.

I asume, this is an IIS related issue, because on an other Computer
with PHP 5.2.5 (running on Win XP and Apache) are no error messages.

Reproduce code:
---
These are the lines 1058-1064 from /PEAR/PEAR/Registry.php including
one line with an fix

$this->_closePackageFile($fp);
$data = file_get_contents($this->_packageFileName($package,
$channel));
set_magic_quotes_runtime($rt);
$data = str_replace("\15\12", "\12", $data);//additional line
with fix
$data = unserialize($data);
if ($key === null) {
return $data;
}

Expected result:

no error message

Actual result:
--
e.g.

Notice: unserialize(): Error at offset 1139 of 4783 bytes in
PEAR\Registry.php on line 1062






-- 
Edit this bug report at http://bugs.php.net/?id=45573&edit=1



#45617 [Bgs]: ZTS causes crashes

2008-07-24 Thread herps at raqtweak dot com
 ID:   45617
 User updated by:  herps at raqtweak dot com
 Reported By:  herps at raqtweak dot com
 Status:   Bogus
 Bug Type: Unknown/Other Function
 Operating System: Linux
 PHP Version:  5.2.6
 New Comment:

Sorry, noticed I was missing a proper backtrace:



Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xa252bb90 (LWP 3955)]
0x00cdd1d8 in _zend_list_find (id=14, type=0xa2527e08,
tsrm_ls=0xb8c952a4) at
/usr/src/redhat/BUILD/php-5.2.6/Zend/zend_list.c:72
72  if (zend_hash_index_find(&EG(regular_list), id, (void
**) &le)==SUCCESS) {
Missing separate debuginfos, use: debuginfo-install base-admserv.i686
(gdb) bt
#0  0x00cdd1d8 in _zend_list_find (id=14, type=0xa2527e08,
tsrm_ls=0xb8c952a4)
at /usr/src/redhat/BUILD/php-5.2.6/Zend/zend_list.c:72
#1  0x1c90334a in get_handle (index=14) at cce.c:799
#2  0x1c9019d9 in zif_ccephp_connect (ht=2, return_value=0xb8cb34a8,
return_value_ptr=0x0, this_ptr=0x0, return_value_used=1, 
tsrm_ls=0xb8bc5630) at cce.c:128
#3  0x00cf7b1e in zend_do_fcall_common_helper_SPEC
(execute_data=0xa2528084, tsrm_ls=0xb8bc5630)
at /usr/src/redhat/BUILD/php-5.2.6/Zend/zend_vm_execute.h:200
#4  0x00cfe875 in ZEND_DO_FCALL_SPEC_CONST_HANDLER
(execute_data=0xa2528084, tsrm_ls=0xb8bc5630)
at /usr/src/redhat/BUILD/php-5.2.6/Zend/zend_vm_execute.h:1679
#5  0x00cf75a6 in execute (op_array=0xb8ca22f0, tsrm_ls=0xb8bc5630) at
/usr/src/redhat/BUILD/php-5.2.6/Zend/zend_vm_execute.h:92
#6  0x00cf7dab in zend_do_fcall_common_helper_SPEC
(execute_data=0xa2528e74, tsrm_ls=0xb8bc5630)
at /usr/src/redhat/BUILD/php-5.2.6/Zend/zend_vm_execute.h:234
#7  0x00cf8c02 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER
(execute_data=0xa2528e74, tsrm_ls=0xb8bc5630)
at /usr/src/redhat/BUILD/php-5.2.6/Zend/zend_vm_execute.h:322
#8  0x00cf75a6 in execute (op_array=0xb8be62ec, tsrm_ls=0xb8bc5630) at
/usr/src/redhat/BUILD/php-5.2.6/Zend/zend_vm_execute.h:92
#9  0x00cce2be in zend_execute_scripts (type=8, tsrm_ls=0xb8bc5630,
retval=0x0, file_count=3)
at /usr/src/redhat/BUILD/php-5.2.6/Zend/zend.c:1134
#10 0x00c66ac9 in php_execute_script (primary_file=0xa252b164,
tsrm_ls=0xb8bc5630)
at /usr/src/redhat/BUILD/php-5.2.6/main/main.c:2005
#11 0x00d57107 in php_handler (r=0xb8bd0b58) at
/usr/src/redhat/BUILD/php-5.2.6/sapi/apache2handler/sapi_apache2.c:629
#12 0xb808bded in ap_run_handler (r=0xb8bd0b58) at
/usr/src/redhat/BUILD/httpd-2.2.9/server/config.c:158
#13 0xb808f73f in ap_invoke_handler (r=0xb8bd0b58) at
/usr/src/redhat/BUILD/httpd-2.2.9/server/config.c:372
#14 0xb809b8a1 in ap_process_request (r=0xb8bd0b58) at
/usr/src/redhat/BUILD/httpd-2.2.9/modules/http/http_request.c:258
#15 0xb80984b8 in ap_process_http_connection (c=0xb8bcccf8) at
/usr/src/redhat/BUILD/httpd-2.2.9/modules/http/http_core.c:190
#16 0xb8093ccd in ap_run_process_connection (c=0xb8bcccf8) at
/usr/src/redhat/BUILD/httpd-2.2.9/server/connection.c:43
#17 0xb80a1d84 in worker_thread (thd=0xb8a14590, dummy=0xb8bc5728)
at
/usr/src/redhat/BUILD/httpd-2.2.9/server/mpm/worker/worker.c:544
#18 0x003c89f6 in ?? () from /usr/lib/libapr-1.so.0
#19 0x003d932f in start_thread () from /lib/libpthread.so.0
#20 0x004cf27e in clone () from /lib/libc.so.6
(gdb)


Previous Comments:


[2008-07-24 18:27:21] herps at raqtweak dot com

I'm sorry, I must have forgotten to mention that Zeev (php team)
mentioned that ZTS is not very stable, and since it works without ZTS,
but not with

And yes, I did look at Sara's articles, and already tried everything
she put in there. No go...

I'm not using this as a support list, so I do think we should at least
look at it?
Thanks.



[2008-07-24 18:23:15] [EMAIL PROTECTED]

Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions.  Due to the volume
of reports we can not explain in detail here why your report is not
a bug.  The support channels will be able to provide an explanation
for you.

Thank you for your interest in PHP.

This place is not for support for writing extensions but reporting
errors in PHP. Best place for such questions would be the pecl-dev
mailing list.

For you're problem: Please learn how ZTS/TSRM works before randomly
placing macros in the code, a good start might be Sara's book about
extending PHP or her blog article on TSRM stuff (use your favorite
search engine for finding that...)



[2008-07-24 17:12:41] herps at raqtweak dot com

Description:

Hi,

I am using a custom written PHP module, originally written for PHP4. It
is a connector for a custom written database. The script works fine,
even unde

#45044 [Ver]: relative paths not resolved correctly

2008-07-24 Thread lbarnaud
 ID:   45044
 Updated by:   [EMAIL PROTECTED]
 Reported By:  felipensp at gmail dot com
 Status:   Verified
 Bug Type: Scripting Engine problem
 Operating System: FreeBSD 6.3
 PHP Version:  5.3CVS-2008-05-20 (CVS)
 New Comment:

virtual_file_ex() assume that if realpath() does not return NULL the
file exists. 

The problem is that FreeBSD's realpath() will not return NULL if all
components *but the last* exist.

So php_resolve_path()/tsrm_realpath() will pass
/usr/home/felipe/foo.php to virtual_file_ex() and assume it exists.


Previous Comments:


[2008-05-30 20:19:00] [EMAIL PROTECTED]

status->verified 



[2008-05-20 02:44:43] [EMAIL PROTECTED]

[EMAIL PROTECTED]:/home$ cd felipe
[EMAIL PROTECTED]:/home/felipe$ mkdir test
[EMAIL PROTECTED]:/home/felipe$ cd test
[EMAIL PROTECTED]:/home/felipe/test$ echo "" >>
test.php
[EMAIL PROTECTED]:/home/felipe/test$ echo "foobar" >> foo.php
[EMAIL PROTECTED]:/home/felipe/test$ cd ..
[EMAIL PROTECTED]:/home/felipe$ ../cellog/workspace/php5/sapi/cli/php
test/test.php
foobar

I am on linux.  I suspect zend_resolve_path is broken on FreeBSD and
this is part of the segfault you described in phar on IRC.

Can we find another FreeBSDer to confirm this?



[2008-05-20 01:27:00] felipensp at gmail dot com

Description:

I've created:

~/test
~/test/test.php: 
~/test/foo.php: "foobar"

Due this issue all tests (.phpt) that uses include/require fails.

PS: This works fine on 5_2.

Reproduce code:
---
[EMAIL PROTECTED] ~]$ php5/sapi/cli/php test/test.php

Expected result:

foobar

Actual result:
--
Warning: include_once(/usr/home/felipe/foo.php): failed to open 
stream: No such file or directory in /usr/home/felipe/test/test.php 
on line 6

Warning: include_once(): Failed opening 'foo.php' for inclusion 
(include_path='.:/usr/local/lib/php') 
in /usr/home/felipe/test/test.php on line 6





-- 
Edit this bug report at http://bugs.php.net/?id=45044&edit=1



#45617 [Bgs]: ZTS causes crashes

2008-07-24 Thread herps at raqtweak dot com
 ID:   45617
 User updated by:  herps at raqtweak dot com
 Reported By:  herps at raqtweak dot com
 Status:   Bogus
 Bug Type: Unknown/Other Function
 Operating System: Linux
 PHP Version:  5.2.6
 New Comment:

I'm sorry, I must have forgotten to mention that Zeev (php team)
mentioned that ZTS is not very stable, and since it works without ZTS,
but not with

And yes, I did look at Sara's articles, and already tried everything
she put in there. No go...

I'm not using this as a support list, so I do think we should at least
look at it?
Thanks.


Previous Comments:


[2008-07-24 18:23:15] [EMAIL PROTECTED]

Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions.  Due to the volume
of reports we can not explain in detail here why your report is not
a bug.  The support channels will be able to provide an explanation
for you.

Thank you for your interest in PHP.

This place is not for support for writing extensions but reporting
errors in PHP. Best place for such questions would be the pecl-dev
mailing list.

For you're problem: Please learn how ZTS/TSRM works before randomly
placing macros in the code, a good start might be Sara's book about
extending PHP or her blog article on TSRM stuff (use your favorite
search engine for finding that...)



[2008-07-24 17:12:41] herps at raqtweak dot com

Description:

Hi,

I am using a custom written PHP module, originally written for PHP4. It
is a connector for a custom written database. The script works fine,
even under PHP5.

Problems arise when I compile Apache as MPM Worker, which means ZTS for
PHP. When we use ZTS, things crash.

The piece of code it concerns, according to the gdb output, can be
found in the link provided to the source.

I also included a GDB backtrace. The problem ONLY occurs when a script,
which of course uses the module, is called. In all other cases, PHP and
Apache will remain running!

Reproduce code:
---
http://www.raqtweak.com/downloads/source.txt

Actual result:
--
0x00cdd1d8 in _zend_list_find (id=14, type=0xa4652e08,
tsrm_ls=0xb97b2ef4) at
/usr/src/redhat/BUILD/php-5.2.6/Zend/zend_list.c:72
72  if (zend_hash_index_find(&EG(regular_list), id, (void
**) &le)==SUCCESS) {





-- 
Edit this bug report at http://bugs.php.net/?id=45617&edit=1



#45617 [Opn->Bgs]: ZTS causes crashes

2008-07-24 Thread johannes
 ID:   45617
 Updated by:   [EMAIL PROTECTED]
 Reported By:  herps at raqtweak dot com
-Status:   Open
+Status:   Bogus
 Bug Type: Unknown/Other Function
 Operating System: Linux
 PHP Version:  5.2.6
 New Comment:

Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions.  Due to the volume
of reports we can not explain in detail here why your report is not
a bug.  The support channels will be able to provide an explanation
for you.

Thank you for your interest in PHP.

This place is not for support for writing extensions but reporting
errors in PHP. Best place for such questions would be the pecl-dev
mailing list.

For you're problem: Please learn how ZTS/TSRM works before randomly
placing macros in the code, a good start might be Sara's book about
extending PHP or her blog article on TSRM stuff (use your favorite
search engine for finding that...)


Previous Comments:


[2008-07-24 17:12:41] herps at raqtweak dot com

Description:

Hi,

I am using a custom written PHP module, originally written for PHP4. It
is a connector for a custom written database. The script works fine,
even under PHP5.

Problems arise when I compile Apache as MPM Worker, which means ZTS for
PHP. When we use ZTS, things crash.

The piece of code it concerns, according to the gdb output, can be
found in the link provided to the source.

I also included a GDB backtrace. The problem ONLY occurs when a script,
which of course uses the module, is called. In all other cases, PHP and
Apache will remain running!

Reproduce code:
---
http://www.raqtweak.com/downloads/source.txt

Actual result:
--
0x00cdd1d8 in _zend_list_find (id=14, type=0xa4652e08,
tsrm_ls=0xb97b2ef4) at
/usr/src/redhat/BUILD/php-5.2.6/Zend/zend_list.c:72
72  if (zend_hash_index_find(&EG(regular_list), id, (void
**) &le)==SUCCESS) {





-- 
Edit this bug report at http://bugs.php.net/?id=45617&edit=1



#45537 [Com]: localhost web page crashes if php5ts.dll (5.2.6.6) exist

2008-07-24 Thread roland-php at thegreentree dot za dot net
 ID:   45537
 Comment by:   roland-php at thegreentree dot za dot net
 Reported By:  roldan at introsplash dot com
 Status:   Feedback
 Bug Type: Apache2 related
 Operating System: Windows XP
 PHP Version:  5.2.6
 New Comment:

I get this bug when loading any .php page.  

I have downloaded again, checked the md5 sig which is correct. 

szAppName : httpd.exe   szAppVer : 2.2.9.0
szModName : php5ts.dll  szModVer : 5.2.6.6
offset : 0009c51d 

I have re-installed php to no avail.

Platform: Windows XP Pro SP2

Also running mySQL.


Previous Comments:


[2008-07-17 14:14:26] roldan at introsplash dot com

I downloaded PHP 5.2.6 a second time and did a binary compare on the
latest release of PHP 5.2.6. The PHP version 5.2.6 I had did not match
in size. embedded in my installed version php5ts.dll file showed an
"RC5" difference.
I uninstalled my version and installed the one without the the "rc5".
That eliminated the issue.



[2008-07-17 07:05:01] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.





[2008-07-17 06:36:43] roldan at introsplash dot com

Description:

localhost web page crashes if php5ts.dll (5.2.6.6) exist

Reproduce code:
---
PC: Dell XSP
System: Windows XP Media Center Edition version 2002 Service pack2

Using Apache 2.2.9
PHP 5.2.6

Running this simple code:


Causes the web program to crash:

Apache HTTP Server has encountered a problem..

szAppName : httpd.exe szAppVer : 2.2.9.0 szModName : php5ts.dll

szModVer : 5.2.6.6 offset : 0009c51d   

If I rename the php5ts.dll file after I start the Apache server the
server wont crash.

Actual result:
--



















http://www.openssl.org/"; PRODUCT_NAME="The OpenSSL Toolkit"
FILE_VERSION="0.9.8h" ORIGINAL_FILENAME="libeay32.dll"
INTERNAL_NAME="libeay32" LEGAL_COPYRIGHT="Copyright © 1998-2005 The
OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All
rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0"
VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0"
LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="0.9.8.8"
UPTO_BIN_PRODUCT_VERSION="0.9.8.8" LINK_DATE="06/10/2008 21:45:14"
UPTO_LINK_DATE="06/10/2008 21:45:14" VER_LANGUAGE="English (United
States) [0x409]" />




http://www.openssl.org/"; PRODUCT_NAME="The OpenSSL Toolkit"
FILE_VERSION="0.9.8h" ORIGINAL_FILENAME="ssleay32.dll"
INTERNAL_NAME="ssleay32" LEGAL_COPYRIGHT="Copyright © 1998-2005 The
OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All
rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0"
VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0"
LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="0.9.8.8"
UPTO_BIN_PRODUCT_VERSION="0.9.8.8" LINK_DATE="06/10/2008 21:46:08"
UPTO_LINK_DATE="06/10/2008 21:46:08" VER_LANGUAGE="English (United
States) [0x409]" />












-- 
Edit this bug report at http://bugs.php.net/?id=45537&edit=1



#45617 [NEW]: ZTS causes crashes

2008-07-24 Thread herps at raqtweak dot com
From: herps at raqtweak dot com
Operating system: Linux
PHP version:  5.2.6
PHP Bug Type: Unknown/Other Function
Bug description:  ZTS causes crashes

Description:

Hi,

I am using a custom written PHP module, originally written for PHP4. It is
a connector for a custom written database. The script works fine, even
under PHP5.

Problems arise when I compile Apache as MPM Worker, which means ZTS for
PHP. When we use ZTS, things crash.

The piece of code it concerns, according to the gdb output, can be found
in the link provided to the source.

I also included a GDB backtrace. The problem ONLY occurs when a script,
which of course uses the module, is called. In all other cases, PHP and
Apache will remain running!

Reproduce code:
---
http://www.raqtweak.com/downloads/source.txt

Actual result:
--
0x00cdd1d8 in _zend_list_find (id=14, type=0xa4652e08, tsrm_ls=0xb97b2ef4)
at /usr/src/redhat/BUILD/php-5.2.6/Zend/zend_list.c:72
72  if (zend_hash_index_find(&EG(regular_list), id, (void **)
&le)==SUCCESS) {

-- 
Edit bug report at http://bugs.php.net/?id=45617&edit=1
-- 
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=45617&r=trysnapshot52
Try a CVS snapshot (PHP 5.3): 
http://bugs.php.net/fix.php?id=45617&r=trysnapshot53
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=45617&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=45617&r=fixedcvs
Fixed in release: 
http://bugs.php.net/fix.php?id=45617&r=alreadyfixed
Need backtrace:   http://bugs.php.net/fix.php?id=45617&r=needtrace
Need Reproduce Script:http://bugs.php.net/fix.php?id=45617&r=needscript
Try newer version:http://bugs.php.net/fix.php?id=45617&r=oldversion
Not developer issue:  http://bugs.php.net/fix.php?id=45617&r=support
Expected behavior:http://bugs.php.net/fix.php?id=45617&r=notwrong
Not enough info:  
http://bugs.php.net/fix.php?id=45617&r=notenoughinfo
Submitted twice:  
http://bugs.php.net/fix.php?id=45617&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=45617&r=globals
PHP 4 support discontinued:   http://bugs.php.net/fix.php?id=45617&r=php4
Daylight Savings: http://bugs.php.net/fix.php?id=45617&r=dst
IIS Stability:http://bugs.php.net/fix.php?id=45617&r=isapi
Install GNU Sed:  http://bugs.php.net/fix.php?id=45617&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=45617&r=float
No Zend Extensions:   http://bugs.php.net/fix.php?id=45617&r=nozend
MySQL Configuration Error:http://bugs.php.net/fix.php?id=45617&r=mysqlcfg



#45616 [Opn->Fbk]: php_mbregex.c (122) : error C2099: initializer is not a constant

2008-07-24 Thread moriyoshi
 ID:   45616
 Updated by:   [EMAIL PROTECTED]
 Reported By:  geerdeli at yahoo dot com dot cn
-Status:   Open
+Status:   Feedback
 Bug Type: Compile Failure
 Operating System: win32 vc6.0 sp6
 PHP Version:  5.2.6
 New Comment:

Use the new win32 build system instead of VC project files. See 
README.WIN32-BUILD-SYSTEM enclosed in the source distribution for 
detail.



Previous Comments:


[2008-07-24 15:30:35] geerdeli at yahoo dot com dot cn

Description:

While compiling mbstring.dsp project under vc6.0,
The following source code in php_mbregex.c between line 122 and 234
"
php_mb_regex_enc_name_map_t enc_name_map[] ={
{
"EUC-JP\0EUCJP\0X-EUC-JP\0UJIS\0EUCJP\0EUCJP-WIN\0",
 ONIG_ENCODING_EUC_JP
},
..."

will always report the 
php_mbregex.c(122) : error C2099: initializer is not a constant
...



Reproduce code:
---
php_mb_regex_enc_name_map_t enc_name_map[] ={
{
"EUC-JP\0EUCJP\0X-EUC-JP\0UJIS\0EUCJP\0EUCJP-WIN\0",
 ONIG_ENCODING_EUC_JP
},
{
"UTF-8\0UTF8\0",
ONIG_ENCODING_UTF8
},
{
"UTF-16\0UTF-16BE\0",
ONIG_ENCODING_UTF16_BE
},
{
"UTF-16LE\0",
ONIG_ENCODING_UTF16_LE
},
{
"UCS-4\0UTF-32\0UTF-32BE\0",
ONIG_ENCODING_UTF32_BE
},
{
"UCS-4LE\0UTF-32LE\0",
ONIG_ENCODING_UTF32_LE
},
{
"SJIS\0CP932\0MS932\0SHIFT_JIS\0SJIS-WIN\0WINDOWS-31J\0",
ONIG_ENCODING_SJIS
},
{
"BIG5\0BIG-5\0BIGFIVE\0CN-BIG5\0BIG-FIVE\0",
ONIG_ENCODING_BIG5
},
{
"EUC-CN\0EUCCN\0EUC_CN\0GB-2312\0GB2312\0",
ONIG_ENCODING_EUC_CN
},
{
"EUC-TW\0EUCTW\0EUC_TW\0",
ONIG_ENCODING_EUC_TW
},
{
"EUC-KR\0EUCKR\0EUC_KR\0",
ONIG_ENCODING_EUC_KR
},
{
"KOI8\0KOI-8\0",
ONIG_ENCODING_KOI8
},
{
"KOI8R\0KOI8-R\0KOI-8R\0",
ONIG_ENCODING_KOI8_R
},
{
"ISO-8859-1\0ISO8859-1\0ISO_8859_1\0ISO8859_1\0",
ONIG_ENCODING_ISO_8859_1
},
{
"ISO-8859-2\0ISO8859-2\0ISO_8859_2\0ISO8859_2\0",
ONIG_ENCODING_ISO_8859_2
},
{
"ISO-8859-3\0ISO8859-3\0ISO_8859_3\0ISO8859_3\0",
ONIG_ENCODING_ISO_8859_3
},
{
"ISO-8859-4\0ISO8859-4\0ISO_8859_4\0ISO8859_4\0",
ONIG_ENCODING_ISO_8859_4
},
{
"ISO-8859-5\0ISO8859-5\0ISO_8859_5\0ISO8859_5\0",
ONIG_ENCODING_ISO_8859_5
},
{
"ISO-8859-6\0ISO8859-6\0ISO_8859_6\0ISO8859_6\0",
ONIG_ENCODING_ISO_8859_6
},
{
"ISO-8859-7\0ISO8859-7\0ISO_8859_7\0ISO8859_7\0",
ONIG_ENCODING_ISO_8859_7
},
{
"ISO-8859-8\0ISO8859-8\0ISO_8859_8\0ISO8859_8\0",
ONIG_ENCODING_ISO_8859_8
},
{
"ISO-8859-9\0ISO8859-9\0ISO_8859_9\0ISO8859_9\0",
ONIG_ENCODING_ISO_8859_9
},
{
"ISO-8859-10\0ISO8859-10\0ISO_8859_10\0ISO8859_10\0",
ONIG_ENCODING_ISO_8859_10
},
{
"ISO-8859-11\0ISO8859-11\0ISO_8859_11\0ISO8859_11\0",
ONIG_ENCODING_ISO_8859_11
},
{
"ISO-8859-13\0ISO8859-13\0ISO_8859_13\0ISO8859_13\0",
ONIG_ENCODING_ISO_8859_13
},
{
"ISO-8859-14\0ISO8859-14\0ISO_8859_14\0ISO8859_14\0",
ONIG_ENCODING_ISO_8859_14
},
{
"ISO-8859-15\0ISO8859-15\0ISO_8859_15\0ISO8859_15\0",
ONIG_ENCODING_ISO_8859_15
},
{
"ISO-8859-16\0ISO8859-16\0ISO_8859_16\0ISO8859_16\0",
ONIG_ENCODING_ISO_8859_16
},
{
"ASCII\0US-ASCII\0US_ASCII\0ISO646\0",
ONIG_ENCODING_ASCII
},
{ NULL, ONIG_ENCODING_UNDEF }

};

Expected result:

program being compile without compile error.

Actual result:
--
29 error(s),error C2099: initializer is not a constant, reported by
vc6.0





-- 
Edit this bug report at http://bugs.php.net/?id=45616&edit=1



#45614 [Opn->Csd]: ArrayIterator::current(), ::key() can show 1st private prop of wrapped object

2008-07-24 Thread lbarnaud
 ID:   45614
 Updated by:   [EMAIL PROTECTED]
 Reported By:  robin_fernandes at uk dot ibm dot com
-Status:   Open
+Status:   Closed
 Bug Type: SPL related
 Operating System: all
 PHP Version:  5.3CVS-2008-07-24 (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.

Fixed, thanks for the patch.


Previous Comments:


[2008-07-24 12:50:35] robin_fernandes at uk dot ibm dot com

Description:

If the first property of a class is private and an instance of that
class is wrapped by ArrayIterator, that first private property may be
exposed by ArrayIterator::current() and ArrayIterator::key().
Specifically, this occurs when: 
 - current() and key() are called right after obtaining the iterator
from ArrayObject::getIterator(), OR
 - current() and key() are called right after the iterator position was
reset due to the current position becoming invalid.

In the reproduce code below, notice how the iterator behaves
differently depending on how it was returned to its starting position.

This issue affects snaps from 5_2, 5_3 and HEAD.
It can be fixed with some extra calls to spl_array_skip_protected() in
spl_array.c.
Proposed patch against 5_3: http://pastebin.ca/1081771


Reproduce code:
---
key()) . " => " . $it->current() .
"\n";
  $it->next();
  echo str_replace("\0", '\0', $it->key()) . " => " . $it->current() .
"\n";
}

$ao = new ArrayObject(new C);
$ai = $ao->getIterator();

echo "--> Show the first two items:\n";
showFirstTwoItems($ai);

echo "\n--> Rewind and show the first two items:\n";
$ai->rewind();
showFirstTwoItems($ai);

echo "\n--> Invalidate current position and show the first two
items:\n";
unset($ai[$ai->key()]);
$ai->current();
showFirstTwoItems($ai);
?>

Expected result:

--> Show the first two items:
pub1 => public1
pub2 => public2

--> Rewind and show the first two items:
pub1 => public1
pub2 => public2

--> Invalidate current position and show the first two items:
pub1 => public1
pub3 => public3

Actual result:
--
--> Show the first two items:
\0C\0priv1 => secret1
pub1 => public1

--> Rewind and show the first two items:
pub1 => public1
pub2 => public2

--> Invalidate current position and show the first two items:
\0C\0priv1 => secret1
pub1 => public1





-- 
Edit this bug report at http://bugs.php.net/?id=45614&edit=1



#45178 [Asn->Csd]: garbage collector and cyclic references

2008-07-24 Thread dmitry
 ID:   45178
 Updated by:   [EMAIL PROTECTED]
 Reported By:  thomas dot jarosch at intra2net dot com
-Status:   Assigned
+Status:   Closed
 Bug Type: Reproducible crash
 Operating System: Linux
 PHP Version:  5.3CVS-2008-06-04 (snap)
 Assigned To:  dmitry
 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:


[2008-07-16 13:20:31] thomas dot jarosch at intra2net dot com

Thanks for looking into this, Dmitry!

So there are actually two problems, one memory corruption reported 
here and one memory leak report in #33595 or are they both memory 
corruptions?



[2008-07-15 11:42:00] [EMAIL PROTECTED]

The simplest case for this memory corruption.

error = array($this,$this);
}
}
$a =& new Foo();




[2008-07-15 07:37:50] [EMAIL PROTECTED]

At first, you have a serious issue in your code. "static" variables
MUST NOT be asigned by reference, because they are already references.
As result the singleton pattern just doesn't work. BTW the bug is really
exists. The simplified test case follows(changing "=& new" into "= new"
fixes memory corruption).

error = $this->raiseError();
echo "Memory usage: " . memory_get_usage() . "\n";
}
}

for ($i=0;$i<10;$i++) {
$a =& new Horde_History();
}
?>



[2008-06-05 09:13:20] thomas dot jarosch at intra2net dot com

Actually, the reproduce code from #33595 also leaks memory.

The statement about Horde is not 100% correct as only some singleton 
functions are affected. I mixed it up with another reference problem 
I fixed a while ago. Nontheless memory is leaked :-)



[2008-06-04 16:57:45] thomas dot jarosch at intra2net dot com

Description:

Hello together,

I'm currently trying to find a heap corruption while using Horde and 
noticed a rather odd behavior. The supplied code is the standard way 
Horde does it singletons. We always used the syntax of "$object = 
&new class" to make it work  with PHP4 and PHP5. 

If I change that to "$object = new class", everything works as 
expected. I've found bug #32845 and noticed what we are doing seems 
wrong, so Horde needs fixing.

The problem gets worse if the class object contains a variable of the 
type "PEAR_Error", which contains cyclic references. Not only does 
the constructor get called every time, the object leaks memory like 
hell, even with PHP 5.3. I've searched through the bugtracker and 
thought the garbage collector now handles cyclic references,
but maybe this is a side-effect of something else going wrong.

Is the memory consumption by design?

Thanks in advance for any comment,
Thomas


Reproduce code:
---
error = PEAR::raiseError("error");
echo "Memory usage: " . memory_get_usage() . "\n";
}
}

for (;;) {
$a = Horde_History::singleton();
}


Expected result:

Constant memory usage.

Actual result:
--
Increasing memory usage.





-- 
Edit this bug report at http://bugs.php.net/?id=45178&edit=1



#44998 [Opn->Fbk]: mysqli_real_escape_string not properly escaping null characters

2008-07-24 Thread andrey
 ID:   44998
 Updated by:   [EMAIL PROTECTED]
 Reported By:  djneoform at gmail dot com
-Status:   Open
+Status:   Feedback
 Bug Type: MySQLi related
 Operating System: Win2003 Standard
 PHP Version:  5.2.6
-Assigned To:  uw
+Assigned To:  andrey
 New Comment:

 Hi,
Do you still experience it?
Can you reproduce it with a simple script?
Can you provide a dump or just the data, index + frm, considering you
are using MyISAM?


Previous Comments:


[2008-07-14 18:16:27] djneoform at gmail dot com

I was using v.5.0.51b 64bit (win2k3) at the time.

Right now I'm using a compiled version of the enterprise code, 5.0.62
from apachelounge.com.

When I do an insert a value:

mysqli_real_escape_string('foo'.chr(0x0).'bar')

all i see in the table after is "foo"

maybe this is a windows only issue?



[2008-07-14 17:58:38] [EMAIL PROTECTED]

What MySQL version are you using?

Interesting find. The mysqli_real_escape_string test does play with
\0:

if ("foo\\0bar" !== ($tmp = mysqli_real_escape_string($link, "foo" .
chr(0) . "bar")))
printf("[009] Expecting %s, got %s\n", "foo\\0bar", $tmp);

But it does not try to insert/fetch such a string. Of course it works
fine with PHP 5.3 and a recent MySQL and on Linux... 



[2008-05-15 16:52:47] djneoform at gmail dot com

I'm able to get around this problem by replacing 0x0 chars with 0x1
prior to passing the string to mysqli_real_escape_string(), however this
damages the integrity of the binary string.



[2008-05-14 20:48:21] djneoform at gmail dot com

Description:

When dealing with binary strings that are being escaped and inserted
into a mysql table that contains a BINARY(128) field, the data that ends
up being inserted is incomplete if the string contains a null character
within the string.

Reproduce code:
---
/*
--TABLE DEF:

CREATE TABLE `system_users_stored_sessions` (
  `session` binary(128) NOT NULL,
  `name` char(32) NOT NULL,
  `posted_on` datetime NOT NULL,
  `body` varchar(65000) NOT NULL,
  PRIMARY KEY  (`session`,`name`),
  KEY `posted_on` (`posted_on`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

*/

$hash_with_null_char = hash('whirlpool', '1210797760.8178', true);

$mysqli->query("
INSERT INTO
user_sessions
SET
session = 
'".$mysqli->real_escape_string($hash_with_null_char)."',
posted_on = NOW(),
name = '".$mysqli->real_escape_string($name)."',
body = '".$mysqli->real_escape_string($body)."'
");

Expected result:

Expecting a row containing the full binary hash.

Actual result:
--
Actual result: a binary string that is terminated by the null char in
the string, not the actual ending.

I am able to work around this by doing a addslashes() to the string
before doing the mysqli_real_escape_string(), however all other chars
are double escaped making the resulting string be longer than it wanted
(128 binary chars).





-- 
Edit this bug report at http://bugs.php.net/?id=44998&edit=1



#45616 [NEW]: php_mbregex.c (122) : error C2099: initializer is not a constant

2008-07-24 Thread geerdeli at yahoo dot com dot cn
From: geerdeli at yahoo dot com dot cn
Operating system: win32 vc6.0 sp6
PHP version:  5.2.6
PHP Bug Type: Compile Failure
Bug description:  php_mbregex.c (122) : error C2099: initializer is not a 
constant

Description:

While compiling mbstring.dsp project under vc6.0,
The following source code in php_mbregex.c between line 122 and 234
"
php_mb_regex_enc_name_map_t enc_name_map[] ={
{
"EUC-JP\0EUCJP\0X-EUC-JP\0UJIS\0EUCJP\0EUCJP-WIN\0",
 ONIG_ENCODING_EUC_JP
},
..."

will always report the 
php_mbregex.c(122) : error C2099: initializer is not a constant
...



Reproduce code:
---
php_mb_regex_enc_name_map_t enc_name_map[] ={
{
"EUC-JP\0EUCJP\0X-EUC-JP\0UJIS\0EUCJP\0EUCJP-WIN\0",
 ONIG_ENCODING_EUC_JP
},
{
"UTF-8\0UTF8\0",
ONIG_ENCODING_UTF8
},
{
"UTF-16\0UTF-16BE\0",
ONIG_ENCODING_UTF16_BE
},
{
"UTF-16LE\0",
ONIG_ENCODING_UTF16_LE
},
{
"UCS-4\0UTF-32\0UTF-32BE\0",
ONIG_ENCODING_UTF32_BE
},
{
"UCS-4LE\0UTF-32LE\0",
ONIG_ENCODING_UTF32_LE
},
{
"SJIS\0CP932\0MS932\0SHIFT_JIS\0SJIS-WIN\0WINDOWS-31J\0",
ONIG_ENCODING_SJIS
},
{
"BIG5\0BIG-5\0BIGFIVE\0CN-BIG5\0BIG-FIVE\0",
ONIG_ENCODING_BIG5
},
{
"EUC-CN\0EUCCN\0EUC_CN\0GB-2312\0GB2312\0",
ONIG_ENCODING_EUC_CN
},
{
"EUC-TW\0EUCTW\0EUC_TW\0",
ONIG_ENCODING_EUC_TW
},
{
"EUC-KR\0EUCKR\0EUC_KR\0",
ONIG_ENCODING_EUC_KR
},
{
"KOI8\0KOI-8\0",
ONIG_ENCODING_KOI8
},
{
"KOI8R\0KOI8-R\0KOI-8R\0",
ONIG_ENCODING_KOI8_R
},
{
"ISO-8859-1\0ISO8859-1\0ISO_8859_1\0ISO8859_1\0",
ONIG_ENCODING_ISO_8859_1
},
{
"ISO-8859-2\0ISO8859-2\0ISO_8859_2\0ISO8859_2\0",
ONIG_ENCODING_ISO_8859_2
},
{
"ISO-8859-3\0ISO8859-3\0ISO_8859_3\0ISO8859_3\0",
ONIG_ENCODING_ISO_8859_3
},
{
"ISO-8859-4\0ISO8859-4\0ISO_8859_4\0ISO8859_4\0",
ONIG_ENCODING_ISO_8859_4
},
{
"ISO-8859-5\0ISO8859-5\0ISO_8859_5\0ISO8859_5\0",
ONIG_ENCODING_ISO_8859_5
},
{
"ISO-8859-6\0ISO8859-6\0ISO_8859_6\0ISO8859_6\0",
ONIG_ENCODING_ISO_8859_6
},
{
"ISO-8859-7\0ISO8859-7\0ISO_8859_7\0ISO8859_7\0",
ONIG_ENCODING_ISO_8859_7
},
{
"ISO-8859-8\0ISO8859-8\0ISO_8859_8\0ISO8859_8\0",
ONIG_ENCODING_ISO_8859_8
},
{
"ISO-8859-9\0ISO8859-9\0ISO_8859_9\0ISO8859_9\0",
ONIG_ENCODING_ISO_8859_9
},
{
"ISO-8859-10\0ISO8859-10\0ISO_8859_10\0ISO8859_10\0",
ONIG_ENCODING_ISO_8859_10
},
{
"ISO-8859-11\0ISO8859-11\0ISO_8859_11\0ISO8859_11\0",
ONIG_ENCODING_ISO_8859_11
},
{
"ISO-8859-13\0ISO8859-13\0ISO_8859_13\0ISO8859_13\0",
ONIG_ENCODING_ISO_8859_13
},
{
"ISO-8859-14\0ISO8859-14\0ISO_8859_14\0ISO8859_14\0",
ONIG_ENCODING_ISO_8859_14
},
{
"ISO-8859-15\0ISO8859-15\0ISO_8859_15\0ISO8859_15\0",
ONIG_ENCODING_ISO_8859_15
},
{
"ISO-8859-16\0ISO8859-16\0ISO_8859_16\0ISO8859_16\0",
ONIG_ENCODING_ISO_8859_16
},
{
"ASCII\0US-ASCII\0US_ASCII\0ISO646\0",
ONIG_ENCODING_ASCII
},
{ NULL, ONIG_ENCODING_UNDEF }

};

Expected result:

program being compile without compile error.

Actual result:
--
29 error(s),error C2099: initializer is not a constant, reported by vc6.0

-- 
Edit bug report at http://bugs.php.net/?id=45616&edit=1
-- 
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=45616&r=trysnapshot52
Try a CVS snapshot (PHP 5.3): 
http://bugs.php.net/fix.php?id=45616&r=trysnapshot53
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=45616&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=45616&r=fixedcvs
Fixed in release: 
http://bugs.php.net/fix.php?id=45616&r=alreadyfixed
Need backtrace:   http://bugs.php.net/fix.php?id=45616&r=needtrace
Need Reproduce Script:http://bugs.php.net/fix.php?id

#42663 [Opn->Csd]: gzinflate() try to allocate all memory with truncated $data

2008-07-24 Thread lbarnaud
 ID:   42663
 Updated by:   [EMAIL PROTECTED]
 Reported By:  arnaud dot lb at gmail dot com
-Status:   Open
+Status:   Closed
 Bug Type: Zlib Related
 Operating System: Linux 2.6
 PHP Version:  5.2.4
 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:


[2008-07-11 09:36:33] arnaud dot lb at gmail dot com

I made a patch for this bug:
http://marc.info/?l=php-internals&m=121561206424622&w=1



[2007-09-29 02:15:24] arnaud dot lb at gmail dot com

I wrote a testcase for this bug:
http://s3.amazonaws.com/arnaud.lb/gzinflate-bug42663.phpt.txt



[2007-09-16 17:43:11] arnaud dot lb at gmail dot com

It works with any compressed data if you truncate it.

The yuicompressor-1.0.zip file used for this example can be found 
here: 
http://www.julienlecomte.net/yuicompressor/yuicompressor-1.0.zip



[2007-09-16 14:52:47] [EMAIL PROTECTED]

Can you please provide a URL to the file with corrupted data.



[2007-09-13 18:33:23] arnaud dot lb at gmail dot com

Example code in a more readable format:





The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/42663

-- 
Edit this bug report at http://bugs.php.net/?id=42663&edit=1



#45615 [NEW]: 5.2.6 distributes only a white page

2008-07-24 Thread japan at email dot de
From: japan at email dot de
Operating system: W2K3 or WXP
PHP version:  5.2.6
PHP Bug Type: IIS related
Bug description:  5.2.6 distributes only a white page

Description:

PHP v5.2.6 distributes only a white page over an microsoft IIS 6! Both
distributions that is about the Windows Installer MSI as well as by ZIP in
a manual installation method have the same faulty result. The older version
5.2.5 has this problem neither with the Windows Installer MSI nor with the
manual installation method.


-- 
Edit bug report at http://bugs.php.net/?id=45615&edit=1
-- 
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=45615&r=trysnapshot52
Try a CVS snapshot (PHP 5.3): 
http://bugs.php.net/fix.php?id=45615&r=trysnapshot53
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=45615&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=45615&r=fixedcvs
Fixed in release: 
http://bugs.php.net/fix.php?id=45615&r=alreadyfixed
Need backtrace:   http://bugs.php.net/fix.php?id=45615&r=needtrace
Need Reproduce Script:http://bugs.php.net/fix.php?id=45615&r=needscript
Try newer version:http://bugs.php.net/fix.php?id=45615&r=oldversion
Not developer issue:  http://bugs.php.net/fix.php?id=45615&r=support
Expected behavior:http://bugs.php.net/fix.php?id=45615&r=notwrong
Not enough info:  
http://bugs.php.net/fix.php?id=45615&r=notenoughinfo
Submitted twice:  
http://bugs.php.net/fix.php?id=45615&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=45615&r=globals
PHP 4 support discontinued:   http://bugs.php.net/fix.php?id=45615&r=php4
Daylight Savings: http://bugs.php.net/fix.php?id=45615&r=dst
IIS Stability:http://bugs.php.net/fix.php?id=45615&r=isapi
Install GNU Sed:  http://bugs.php.net/fix.php?id=45615&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=45615&r=float
No Zend Extensions:   http://bugs.php.net/fix.php?id=45615&r=nozend
MySQL Configuration Error:http://bugs.php.net/fix.php?id=45615&r=mysqlcfg



#44998 [Com]: mysqli_real_escape_string not properly escaping null characters

2008-07-24 Thread djneoform at gmail dot com
 ID:   44998
 Comment by:   djneoform at gmail dot com
 Reported By:  djneoform at gmail dot com
 Status:   Open
 Bug Type: MySQLi related
 Operating System: Win2003 Standard
 PHP Version:  5.2.6
 Assigned To:  andrey
 New Comment:

The resulting dump for the table once i run the script.

/*
MySQL Data Transfer
Source Host: localhost
Source Database: phpneoform
Target Host: localhost
Target Database: phpneoform
Date: 7/24/2008 10:22:31 AM
*/

SET FOREIGN_KEY_CHECKS=0;
-- 
-- Table structure for test_table
-- 
CREATE TABLE `test_table` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `name` binary(100) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

-- 
-- Records 
-- 
INSERT INTO `test_table` VALUES ('1', 'A');


Previous Comments:


[2008-07-24 14:20:36] djneoform at gmail dot com

Results:

TEST STRING LENGTH: 51
RETURNED STRING LENGTH: 100



[2008-07-24 14:19:36] djneoform at gmail dot com

http://phpneoform.com/error.php

Here's this script running on a win2k3 server with PHP 5.2.6 and mysql
5.0.62

query("DROP TABLE IF EXISTS `test_table`");
$mysqli->query("
CREATE TABLE `test_table` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `name` binary(100) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
");

$str = str_repeat('A', 25).chr(0x0).str_repeat('B', 25);
echo "TEST STRING LENGTH: ".strlen($str)."\n";
$mysqli->query("
INSERT INTO 
`test_table`
SET
`name` = '".$mysqli->real_escape_string($str)."'
");
$id = $mysqli->insert_id;

$result = $mysqli->query("
SELECT
name
FROM
`test_table`
WHERE
id = '".intval($id)."'  
");

$result = $result->fetch_object();

echo "RETURNED STRING LENGTH: ".strlen($result->name)."\n";
?>



[2008-07-24 13:37:53] [EMAIL PROTECTED]

 Hi,
Do you still experience it?
Can you reproduce it with a simple script?
Can you provide a dump or just the data, index + frm, considering you
are using MyISAM?



[2008-07-14 18:16:27] djneoform at gmail dot com

I was using v.5.0.51b 64bit (win2k3) at the time.

Right now I'm using a compiled version of the enterprise code, 5.0.62
from apachelounge.com.

When I do an insert a value:

mysqli_real_escape_string('foo'.chr(0x0).'bar')

all i see in the table after is "foo"

maybe this is a windows only issue?



[2008-07-14 17:58:38] [EMAIL PROTECTED]

What MySQL version are you using?

Interesting find. The mysqli_real_escape_string test does play with
\0:

if ("foo\\0bar" !== ($tmp = mysqli_real_escape_string($link, "foo" .
chr(0) . "bar")))
printf("[009] Expecting %s, got %s\n", "foo\\0bar", $tmp);

But it does not try to insert/fetch such a string. Of course it works
fine with PHP 5.3 and a recent MySQL and on Linux... 



The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/44998

-- 
Edit this bug report at http://bugs.php.net/?id=44998&edit=1



#44998 [Com]: mysqli_real_escape_string not properly escaping null characters

2008-07-24 Thread djneoform at gmail dot com
 ID:   44998
 Comment by:   djneoform at gmail dot com
 Reported By:  djneoform at gmail dot com
 Status:   Open
 Bug Type: MySQLi related
 Operating System: Win2003 Standard
 PHP Version:  5.2.6
 Assigned To:  andrey
 New Comment:

Results:

TEST STRING LENGTH: 51
RETURNED STRING LENGTH: 100


Previous Comments:


[2008-07-24 14:19:36] djneoform at gmail dot com

http://phpneoform.com/error.php

Here's this script running on a win2k3 server with PHP 5.2.6 and mysql
5.0.62

query("DROP TABLE IF EXISTS `test_table`");
$mysqli->query("
CREATE TABLE `test_table` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `name` binary(100) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
");

$str = str_repeat('A', 25).chr(0x0).str_repeat('B', 25);
echo "TEST STRING LENGTH: ".strlen($str)."\n";
$mysqli->query("
INSERT INTO 
`test_table`
SET
`name` = '".$mysqli->real_escape_string($str)."'
");
$id = $mysqli->insert_id;

$result = $mysqli->query("
SELECT
name
FROM
`test_table`
WHERE
id = '".intval($id)."'  
");

$result = $result->fetch_object();

echo "RETURNED STRING LENGTH: ".strlen($result->name)."\n";
?>



[2008-07-24 13:37:53] [EMAIL PROTECTED]

 Hi,
Do you still experience it?
Can you reproduce it with a simple script?
Can you provide a dump or just the data, index + frm, considering you
are using MyISAM?



[2008-07-14 18:16:27] djneoform at gmail dot com

I was using v.5.0.51b 64bit (win2k3) at the time.

Right now I'm using a compiled version of the enterprise code, 5.0.62
from apachelounge.com.

When I do an insert a value:

mysqli_real_escape_string('foo'.chr(0x0).'bar')

all i see in the table after is "foo"

maybe this is a windows only issue?



[2008-07-14 17:58:38] [EMAIL PROTECTED]

What MySQL version are you using?

Interesting find. The mysqli_real_escape_string test does play with
\0:

if ("foo\\0bar" !== ($tmp = mysqli_real_escape_string($link, "foo" .
chr(0) . "bar")))
printf("[009] Expecting %s, got %s\n", "foo\\0bar", $tmp);

But it does not try to insert/fetch such a string. Of course it works
fine with PHP 5.3 and a recent MySQL and on Linux... 



[2008-05-15 16:52:47] djneoform at gmail dot com

I'm able to get around this problem by replacing 0x0 chars with 0x1
prior to passing the string to mysqli_real_escape_string(), however this
damages the integrity of the binary string.



The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/44998

-- 
Edit this bug report at http://bugs.php.net/?id=44998&edit=1



#44998 [Fbk->Opn]: mysqli_real_escape_string not properly escaping null characters

2008-07-24 Thread djneoform at gmail dot com
 ID:   44998
 User updated by:  djneoform at gmail dot com
 Reported By:  djneoform at gmail dot com
-Status:   Feedback
+Status:   Open
 Bug Type: MySQLi related
 Operating System: Win2003 Standard
 PHP Version:  5.2.6
 Assigned To:  andrey
 New Comment:

http://phpneoform.com/error.php

Here's this script running on a win2k3 server with PHP 5.2.6 and mysql
5.0.62

query("DROP TABLE IF EXISTS `test_table`");
$mysqli->query("
CREATE TABLE `test_table` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `name` binary(100) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
");

$str = str_repeat('A', 25).chr(0x0).str_repeat('B', 25);
echo "TEST STRING LENGTH: ".strlen($str)."\n";
$mysqli->query("
INSERT INTO 
`test_table`
SET
`name` = '".$mysqli->real_escape_string($str)."'
");
$id = $mysqli->insert_id;

$result = $mysqli->query("
SELECT
name
FROM
`test_table`
WHERE
id = '".intval($id)."'  
");

$result = $result->fetch_object();

echo "RETURNED STRING LENGTH: ".strlen($result->name)."\n";
?>


Previous Comments:


[2008-07-24 13:37:53] [EMAIL PROTECTED]

 Hi,
Do you still experience it?
Can you reproduce it with a simple script?
Can you provide a dump or just the data, index + frm, considering you
are using MyISAM?



[2008-07-14 18:16:27] djneoform at gmail dot com

I was using v.5.0.51b 64bit (win2k3) at the time.

Right now I'm using a compiled version of the enterprise code, 5.0.62
from apachelounge.com.

When I do an insert a value:

mysqli_real_escape_string('foo'.chr(0x0).'bar')

all i see in the table after is "foo"

maybe this is a windows only issue?



[2008-07-14 17:58:38] [EMAIL PROTECTED]

What MySQL version are you using?

Interesting find. The mysqli_real_escape_string test does play with
\0:

if ("foo\\0bar" !== ($tmp = mysqli_real_escape_string($link, "foo" .
chr(0) . "bar")))
printf("[009] Expecting %s, got %s\n", "foo\\0bar", $tmp);

But it does not try to insert/fetch such a string. Of course it works
fine with PHP 5.3 and a recent MySQL and on Linux... 



[2008-05-15 16:52:47] djneoform at gmail dot com

I'm able to get around this problem by replacing 0x0 chars with 0x1
prior to passing the string to mysqli_real_escape_string(), however this
damages the integrity of the binary string.



[2008-05-14 20:48:21] djneoform at gmail dot com

Description:

When dealing with binary strings that are being escaped and inserted
into a mysql table that contains a BINARY(128) field, the data that ends
up being inserted is incomplete if the string contains a null character
within the string.

Reproduce code:
---
/*
--TABLE DEF:

CREATE TABLE `system_users_stored_sessions` (
  `session` binary(128) NOT NULL,
  `name` char(32) NOT NULL,
  `posted_on` datetime NOT NULL,
  `body` varchar(65000) NOT NULL,
  PRIMARY KEY  (`session`,`name`),
  KEY `posted_on` (`posted_on`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

*/

$hash_with_null_char = hash('whirlpool', '1210797760.8178', true);

$mysqli->query("
INSERT INTO
user_sessions
SET
session = 
'".$mysqli->real_escape_string($hash_with_null_char)."',
posted_on = NOW(),
name = '".$mysqli->real_escape_string($name)."',
body = '".$mysqli->real_escape_string($body)."'
");

Expected result:

Expecting a row containing the full binary hash.

Actual result:
--
Actual result: a binary string that is terminated by the null char in
the string, not the actual ending.

I am able to work around this by doing a addslashes() to the string
before doing the mysqli_real_escape_string(), however all other chars
are double escaped making the resulting string be longer than it wanted
(128 binary chars).





-- 
Edit this bug report at http://bugs.php.net/?id=44998&edit=1



#45614 [NEW]: ArrayIterator::current(), ::key() can show 1st private prop of wrapped object

2008-07-24 Thread robin_fernandes at uk dot ibm dot com
From: robin_fernandes at uk dot ibm dot com
Operating system: all
PHP version:  5.3CVS-2008-07-24 (CVS)
PHP Bug Type: SPL related
Bug description:  ArrayIterator::current(), ::key() can show 1st private prop 
of wrapped object

Description:

If the first property of a class is private and an instance of that class
is wrapped by ArrayIterator, that first private property may be exposed by
ArrayIterator::current() and ArrayIterator::key(). Specifically, this
occurs when: 
 - current() and key() are called right after obtaining the iterator from
ArrayObject::getIterator(), OR
 - current() and key() are called right after the iterator position was
reset due to the current position becoming invalid.

In the reproduce code below, notice how the iterator behaves differently
depending on how it was returned to its starting position.

This issue affects snaps from 5_2, 5_3 and HEAD.
It can be fixed with some extra calls to spl_array_skip_protected() in
spl_array.c.
Proposed patch against 5_3: http://pastebin.ca/1081771


Reproduce code:
---
key()) . " => " . $it->current() .
"\n";
  $it->next();
  echo str_replace("\0", '\0', $it->key()) . " => " . $it->current() .
"\n";
}

$ao = new ArrayObject(new C);
$ai = $ao->getIterator();

echo "--> Show the first two items:\n";
showFirstTwoItems($ai);

echo "\n--> Rewind and show the first two items:\n";
$ai->rewind();
showFirstTwoItems($ai);

echo "\n--> Invalidate current position and show the first two items:\n";
unset($ai[$ai->key()]);
$ai->current();
showFirstTwoItems($ai);
?>

Expected result:

--> Show the first two items:
pub1 => public1
pub2 => public2

--> Rewind and show the first two items:
pub1 => public1
pub2 => public2

--> Invalidate current position and show the first two items:
pub1 => public1
pub3 => public3

Actual result:
--
--> Show the first two items:
\0C\0priv1 => secret1
pub1 => public1

--> Rewind and show the first two items:
pub1 => public1
pub2 => public2

--> Invalidate current position and show the first two items:
\0C\0priv1 => secret1
pub1 => public1

-- 
Edit bug report at http://bugs.php.net/?id=45614&edit=1
-- 
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=45614&r=trysnapshot52
Try a CVS snapshot (PHP 5.3): 
http://bugs.php.net/fix.php?id=45614&r=trysnapshot53
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=45614&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=45614&r=fixedcvs
Fixed in release: 
http://bugs.php.net/fix.php?id=45614&r=alreadyfixed
Need backtrace:   http://bugs.php.net/fix.php?id=45614&r=needtrace
Need Reproduce Script:http://bugs.php.net/fix.php?id=45614&r=needscript
Try newer version:http://bugs.php.net/fix.php?id=45614&r=oldversion
Not developer issue:  http://bugs.php.net/fix.php?id=45614&r=support
Expected behavior:http://bugs.php.net/fix.php?id=45614&r=notwrong
Not enough info:  
http://bugs.php.net/fix.php?id=45614&r=notenoughinfo
Submitted twice:  
http://bugs.php.net/fix.php?id=45614&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=45614&r=globals
PHP 4 support discontinued:   http://bugs.php.net/fix.php?id=45614&r=php4
Daylight Savings: http://bugs.php.net/fix.php?id=45614&r=dst
IIS Stability:http://bugs.php.net/fix.php?id=45614&r=isapi
Install GNU Sed:  http://bugs.php.net/fix.php?id=45614&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=45614&r=float
No Zend Extensions:   http://bugs.php.net/fix.php?id=45614&r=nozend
MySQL Configuration Error:http://bugs.php.net/fix.php?id=45614&r=mysqlcfg



#45606 [Bgs]: FILTER_SANITIZE_NUMBER_INT filters returns "----" as an int

2008-07-24 Thread lbarnaud
 ID:   45606
 Updated by:   [EMAIL PROTECTED]
 Reported By:  php at displague dot com
 Status:   Bogus
 Bug Type: Filter related
 Operating System: ubuntu intrepid
 PHP Version:  5.2.6
 Assigned To:  pajoye
 New Comment:

This result is expected, the documentation for
FILTER_SANITIZE_NUMBER_INT says: "Remove all characters except digits,
plus and minus sign".

FILTER_VALIDATE_INT works as you expect: It does not outputs invalid
numbers and does range check using the min/max_range options.





Previous Comments:


[2008-07-23 18:46:42] php at displague dot com

I used FILTER_SANITIZE_NUMBER_INT and FILTER_VALIDATE_INT backward in
my last comment.

Still, neither filter should ever return '' as an INT with a
minimum value of 1.



[2008-07-23 18:17:57] php at displague dot com

> sanitize checks only if all characters used in a given
> input can be part of an integer, float, etc

Where does it say that? http://php.net/manual/en/intro.filter.php
>From what I could gather from the docs, 
filter_var should return:
 Returns the filtered data, or FALSE if the filter fails. 
and filter_input should return:

Value of the requested variable on success, FALSE if the filter fails,
or NULL if the variable_name  variable is not set. If the flag
FILTER_NULL_ON_FAILURE is used, it returns FALSE if the variable is not
set and NULL if the filter fails.

I understand that FILTER_VALIDATE_INT is not as stringent as
FILTER_SANITIZE_NUMBER_INT, but given these input and return
combinations:

input   return
x.9  9
x-9 -9
x   ''
-   -
+   +
++  ++
--  --

Then given the string, "", how is a return value of ""
a valid INT with a minimum of 1?

I assume a regular expression is behind this filter, and at the very
least I expect that it needs to be updated to only match no more than
one "-" or "+" only if it is followed by a "." or [0-9].  Possibly
others depending on localization settings.

It's not much of a validation filter as it exists currently.



[2008-07-23 16:55:10] [EMAIL PROTECTED]

The sanitize checks only if all characters used in a given input can be
part of an integer, float, etc. If you like to have a strict validation,
use FILTER_VALIDATE_INT (or other validating filters).



[2008-07-23 16:47:52] php at displague dot com

Description:

In code where I use

filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT,
array('options'=>array('min_range'=>1)));

a vulnerability scanner tried to supply a value of  to the
id parameter of the page.

This filter statement caused $id==''.

Reproduce code:
---
$t="";
$v=filter_var($t, FILTER_SANITIZE_NUMBER_INT,
array('options'=>array('min_range'=>1)));

Expected result:

$v==false

Actual result:
--
$v==''





-- 
Edit this bug report at http://bugs.php.net/?id=45606&edit=1



#44270 [Asn]: $mysqli->info is NULL, not an empty string, for "not supported situations"

2008-07-24 Thread uw
 ID:   44270
 Updated by:   [EMAIL PROTECTED]
 Reported By:  stein at visibone dot com
 Status:   Assigned
 Bug Type: MySQLi related
 Operating System: Win2K
 PHP Version:  5.2.5
 Assigned To:  andrey
 New Comment:

The more I think about it, the better I like NULL. NULL will be used on
the C-level, under the hood. false gets used in ext/mysql. And both NULL
and false have a different meaning than empty string. An empty string
means that there is some information - even if the string is empty. NULL
means that no information is available.

In any case the procedural and OO interface should return the same
value. Comments?

I don't mind the PHP manual much as its a very minor change which most
people will not notice as NULL == '' is true.


Previous Comments:


[2008-07-15 16:06:20] [EMAIL PROTECTED]

... and of course: free to fix for whoever comes first 



[2008-07-15 16:05:27] [EMAIL PROTECTED]

Bug - I'll modify mysqi_info.phpt to cover this detail.



[2008-03-04 15:11:21] uwendel at mysql dot com

Interesting question and good point. In real life only few people might
notice the difference and cast the return value to string, but good
question...

Please don't commit the change. I wonder if there are more such tiny
differences. For example, I wonder if my mysqli_info.phpt test is
correct. Let me check in more detail first before we change anything.

Ulf



[2008-03-04 13:45:07] [EMAIL PROTECTED]

Hi Johannes/Ulf

Whereas the documentation says "empty string" for each string property,
i guess that could be modified the macro responsible for that.

http://felipe.ath.cx/diff/bug44270.diff

What do you think? :)




[2008-02-27 17:55:22] stein at visibone dot com

Description:

$mysqli->info is NULL instead of empty string for "not supported
situations" (i.e. queries other than multi-row INSERT, LOAD, ALTER,
UPDATE)  The procedural mysqli_info() does return the empty string, as
documented.


Reproduce code:
---
Query:  'INSERT INTO t (id) VALUES (1),(2),(3)'
mysqli_info():  'Records: 3  Duplicates: 0  Warnings: 0'
$mysqli->info:  'Records: 3  Duplicates: 0  Warnings: 0'

Query:  'INSERT INTO t (id) VALUES (9)'
mysqli_info():  ''
$mysqli->info:  NULL


Expected result:

(see above)

Actual result:
--
the object oriented property $mysqli->info should be the empty string
after "not supported situations", e.g. a single-row insert.





-- 
Edit this bug report at http://bugs.php.net/?id=44270&edit=1



#19302 [Com]: Invalid access to memory location

2008-07-24 Thread minhduan at newsplus dot com dot vn
 ID:   19302
 Comment by:   minhduan at newsplus dot com dot vn
 Reported By:  phpteam at vip dot sina dot com
 Status:   No Feedback
 Bug Type: IIS related
 Operating System: win200 adv server
 PHP Version:  4.2.2
 New Comment:

dfsdf


Previous Comments:


[2008-05-16 19:44:29] awakennow at bellsouth dot net

Solution:

I checked the ISAPI filter section of IIS admin and found php still
pointing there to the okd version.  I had change it in the configuration
settings.

Once both the filter and the configuration mappings were pointed to
php5isapi.dll the sites worked.



[2008-05-16 19:16:02] awakennow at bellsouth dot net

I'm having the same problem.  IIS XP sp2 php 5.2.5.

I had a 4.x version running (4.7) I think, then upgraded ot 5.2.5 by
copying the 5.2.5 files to a directory, pointing IIS to the new php dll
and setting the path the the new directory.

It worked fine a week or so ago.  Now, I get the "Invalid access to
memory" error.

If I reboot, then phpinfo() will run once.  I haven't refeshed it
immediately, but if I try to run any other php file I get the same
error.

Incidentally, the second php test file I've been running contains only
html, so it isn't a fucntion call or any other DLL that php loads that
is causing this.



[2008-01-23 05:49:08] shaileshkumardas at gmail dot com

I am facing the same problem. I uninstalled the older 5.x version and I
installed PHP 5.2.5 via msi installer. MySQL
essential-5.0.27-win32.msiwas already installed . I added the
extension=php_mysql.dll in php.ini file. Also checked the windows path
which was correct . When i loaded test.php it displayed the error
"Invalid access to memory location" after restarting my pc and emtying
the session and temp dir it displayed the PHP info page and it shows
"Loaded Configuration File (none)".



[2007-10-27 15:16:50] woud at skynet dot be

I have the sam problem. I installed PHP and the test.php or info.php
worked fine. I installed MySQL and before starting tha install, I tested
again the info.php... -> now I'mg getting this acces problem.
I used the latest version of PHP and MySQL.
I use WinXP-Prof , IIS 5.1.
Thanks for helping me!
Joske



[2006-04-02 17:03:57] rcherry at raysoft dot net

Exact same thing is happening to me with XP (latest), IIS and PHP
5.1.2.  Sometimes a web page will work, then will DIE when refreshed.



The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/19302

-- 
Edit this bug report at http://bugs.php.net/?id=19302&edit=1



#45613 [Com]: Segfault when using is_file() on Apache-2.2.8

2008-07-24 Thread crocodile2u at yandex dot ru
 ID:   45613
 Comment by:   crocodile2u at yandex dot ru
 Reported By:  crocodile2u at yandex dot ru
 Status:   Feedback
 Bug Type: Apache2 related
 Operating System: Ununtu 8.04
 PHP Version:  5.3CVS-2008-07-24 (CVS)
 New Comment:

Because I needed a working project today - I installed a previous
snapshopt of PHP-5.3 which did not have this issue. On sunday, I will
surely reinstall the problematic snapshot and provide a trace.


Previous Comments:


[2008-07-24 09:24:41] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.



[2008-07-24 08:02:44] crocodile2u at yandex dot ru

Description:

Get a segfault when using is_file() in a web-server environment
(Apache/2.2.8 (Ubuntu) PHP/5.3.0-dev). Seems to be web-server related as
CLI version works as expected.

Reproduce code:
---
http://bugs.php.net/?id=45613&edit=1



#45613 [Opn->Fbk]: Segfault when using is_file() on Apache-2.2.8

2008-07-24 Thread scottmac
 ID:   45613
 Updated by:   [EMAIL PROTECTED]
 Reported By:  crocodile2u at yandex dot ru
-Status:   Open
+Status:   Feedback
 Bug Type: Apache2 related
 Operating System: Ununtu 8.04
 PHP Version:  5.3CVS-2008-07-24 (CVS)
 New Comment:

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.


Previous Comments:


[2008-07-24 08:02:44] crocodile2u at yandex dot ru

Description:

Get a segfault when using is_file() in a web-server environment
(Apache/2.2.8 (Ubuntu) PHP/5.3.0-dev). Seems to be web-server related as
CLI version works as expected.

Reproduce code:
---
http://bugs.php.net/?id=45613&edit=1



#44779 [Opn->Csd]: filter returns NULL in CLI when it shouldn't

2008-07-24 Thread lbarnaud
 ID:   44779
 Updated by:   [EMAIL PROTECTED]
 Reported By:  [EMAIL PROTECTED]
-Status:   Open
+Status:   Closed
 Bug Type: Filter related
 Operating System: Mac
 PHP Version:  5.3CVS-2008-04-18 (snap)
 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:


[2008-04-18 17:45:29] [EMAIL PROTECTED]

Description:

The filter extension appears to have issues with CLI. I have not fully
tested it but will provide examples below to demonstrate the problem.

These tests use INPUT_SERVER, but others may be affected. Note: The
same code is working correctly for me in mod_php.

Reproduce code:
---
philip$ cat > foo.php
http://bugs.php.net/?id=44779&edit=1



#44954 [NoF->Opn]: file_get_contents crashes Apache

2008-07-24 Thread abakker at gmx dot net
 ID:   44954
 User updated by:  abakker at gmx dot net
 Reported By:  abakker at gmx dot net
-Status:   No Feedback
+Status:   Open
 Bug Type: Reproducible crash
 Operating System: Win XP
 PHP Version:  5.2.6
 New Comment:

I tried to create a backtrace for the httpd.exe process, but no dmp
file is generated. Either Apache does not crash (but hangs) or I am
doing something wrong.

The problem can easily be reproduced (just run the script I provided).
I suggest you reproduce the problem yourself which allows you to do
whatever analysis or backtracing you need. That would be far more
efficient than passing it back to me.


Previous Comments:


[2008-07-22 01:00:01] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".



[2008-07-14 21:13:40] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.





[2008-05-18 08:43:37] abakker at gmx dot net

I added a sleep(1) and set max_execution_time to 999. After 172
iterations the Apache server hangs (does not respond to page requests
anymore). The script continues very slowly at this point, it times out
on every file_get_contents request (in the error log you see the error
message mentioned at the top of this bug report for every iteration).

The total number of threads in Windows Task Manager does not increase
when running the script. My system is also not running out of resources,
I have 3 Gb memory of which 2.6 Gb is available.

When you replace file_get_contents with http_get or curl_exec the
problem does not occur. Seems to me that this indicates that there is
something wrong with file_get_contents.

In any case a PHP script should not cause the Apache server to
hang/crash (Apache does not respond to page requests for any user
anymore) and bring a production system down.



[2008-05-18 00:20:28] [EMAIL PROTECTED]

I really doubt this is any bug in PHP anyway. You propably just run out
of Apache threads/childs with that script that doesn't really give
Apache any chance. Try adding some 'sleep(1);' line inside the for()
loop.



[2008-05-11 11:15:41] abakker at gmx dot net

In the Apache error log it just says the connected party failed to
respond (the complete message is in the beginning of this bug report).

I tried the backtrace tools, but did not manage to get a backtrace. I
looked at the processes. I have two httpd.exe processes when I start
Apache. When I reproduce the problem, the two processes remain. I guess
technically this means the Apache server does not crash, but hangs and
this is the reason why I do not get a backtrace?

Anyway, the two httpd.exe processes keep on running, but any web page
request fails (internet explorer displays the standard page that it
could not access the requested web page). Apache no longer seems to
respond to requests. The two httpd.exe processes use no cpu when the
problem occurs.

A restart of Apache does not give any error message, but does not solve
the issue. A stop and start is needed. Not sure whether this tells you
something.

Anyway, were you able to reproduce the problem yourself? That would be
helpful, if so, you could do any backtracing or other diagnosis
yourself. I am not familiar with the diagnostic tools, it would be much
better if you could do it.



The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/44954

-- 
Edit this bug report at http://bugs.php.net/?id=44954&edit=1



#45613 [NEW]: Segfault when using is_file() on Apache-2.2.8

2008-07-24 Thread crocodile2u at yandex dot ru
From: crocodile2u at yandex dot ru
Operating system: Ununtu 8.04
PHP version:  5.3CVS-2008-07-24 (CVS)
PHP Bug Type: Apache2 related
Bug description:  Segfault when using is_file() on Apache-2.2.8

Description:

Get a segfault when using is_file() in a web-server environment
(Apache/2.2.8 (Ubuntu) PHP/5.3.0-dev). Seems to be web-server related as
CLI version works as expected.

Reproduce code:
---
http://bugs.php.net/?id=45613&edit=1
-- 
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=45613&r=trysnapshot52
Try a CVS snapshot (PHP 5.3): 
http://bugs.php.net/fix.php?id=45613&r=trysnapshot53
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=45613&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=45613&r=fixedcvs
Fixed in release: 
http://bugs.php.net/fix.php?id=45613&r=alreadyfixed
Need backtrace:   http://bugs.php.net/fix.php?id=45613&r=needtrace
Need Reproduce Script:http://bugs.php.net/fix.php?id=45613&r=needscript
Try newer version:http://bugs.php.net/fix.php?id=45613&r=oldversion
Not developer issue:  http://bugs.php.net/fix.php?id=45613&r=support
Expected behavior:http://bugs.php.net/fix.php?id=45613&r=notwrong
Not enough info:  
http://bugs.php.net/fix.php?id=45613&r=notenoughinfo
Submitted twice:  
http://bugs.php.net/fix.php?id=45613&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=45613&r=globals
PHP 4 support discontinued:   http://bugs.php.net/fix.php?id=45613&r=php4
Daylight Savings: http://bugs.php.net/fix.php?id=45613&r=dst
IIS Stability:http://bugs.php.net/fix.php?id=45613&r=isapi
Install GNU Sed:  http://bugs.php.net/fix.php?id=45613&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=45613&r=float
No Zend Extensions:   http://bugs.php.net/fix.php?id=45613&r=nozend
MySQL Configuration Error:http://bugs.php.net/fix.php?id=45613&r=mysqlcfg