#37886 [Opn->Fbk]: oci_connect crashes php when charset-parameter is given
| From: | tony2001@php.net | Date: | Thu, 22 Jun 2006 18:53:32 +0000 |
| Subject: | #37886 [Opn->Fbk]: oci_connect crashes php when charset-parameter is given | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-98674@lists.php.net to get a copy of this message | ||
ID: 37886
Updated by: tony2001@php.net
Reported By: j dot henge-ernst at interexa dot de
-Status: Open
+Status: Feedback
Bug Type: OCI8 related
Operating System: linux
PHP Version: 5.1.4
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.2-win32-latest.zip
Previous Comments:
------------------------------------------------------------------------
[2006-06-22 11:59:38] j dot henge-ernst at interexa dot de
Description:
------------
php crashes if the fourth/charset parameter is given to oc_connect or
oci_new_connect. Problem seems to be line 990 in oci8.c
Problem occurs also if ZendDebugger is not activated. Error occurs also
in older versions 5.0.5
Reproduce code:
---------------
<?php
$c=oci_new_connect("XXXXXXXX", "XXXXXXXX",
"XXXXXXX.XXXXXXX.XXX.XXXXXXXXXX", 'AMERICAN_AMERICA.WE8ISO8859P15');
Actual result:
--------------
#0 0x0000002a95ea4ef2 in __pause_nocancel () from
/lib64/tls/libpthread.so.0
#1 0x0000002a9a426c0c in zend_oe () from
/usr/local/Zend/Core/lib/zend/optimizer/php-5.1.x/ZendOptimizer.so
#2 <signal handler called>
#3 0x0000002a96121af5 in memcpy () from /lib64/tls/libc.so.6
#4 0x0000000000000031 in ?? ()
#5 0x0000002a985c5e83 in php_oci_do_connect_ex (username=0x986418
"XXXXXXXX", username_len=8, password=0x986978 "XXXXXXXX",
password_len=8, new_password=0x0, new_password_len=0, dbname=0x986088
"OPRISKT.XXXXXXXXXXXXXXXXXXXXXX", dbname_len=30, charset=0x9bacc8
"AMERICAN_AMERICA.WE8ISO8859P15", session_mode=0, persistent=0,
exclusive=0) at /root/oci8/oci8.c:990
#6 0x0000002a985c71de in php_oci_do_connect (ht=<value optimized out>,
return_value=0x9b4078, return_value_ptr=<value optimized out>,
this_ptr=<value optimized out>, return_value_used=<value optimized
out>, persistent=0, exclusive=1380273473) at /root/oci8/oci8.c:942
#7 0x0000002a985cfc33 in zif_oci_connect (ht=<value optimized out>,
return_value=<value optimized out>, return_value_ptr=<value optimized
out>, this_ptr=<value optimized out>, return_value_used=<value
optimized out>) at /root/oci8/oci8_interface.c:1528
line 990 in oci8.c is:
if (charset && *charset) {
smart_str_appends_ex(&hashed_details, charset,
1);
}
which then uses the macro from ./ext/standard/php_smart_str.h where
the memcopy is called
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=37886&edit=1