From: j dot henge-ernst at interexa dot de
Operating system: linux
PHP version: 5.1.4
PHP Bug Type: OCI8 related
Bug description: oci_connect crashes php when charset-parameter is given
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 bug report at http://bugs.php.net/?id=37886&edit=1
--
Try a CVS snapshot (PHP 4.4):
http://bugs.php.net/fix.php?id=37886&r=trysnapshot44
Try a CVS snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=37886&r=trysnapshot52
Try a CVS snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=37886&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=37886&r=fixedcvs
Fixed in release:
http://bugs.php.net/fix.php?id=37886&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=37886&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=37886&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=37886&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=37886&r=support
Expected behavior: http://bugs.php.net/fix.php?id=37886&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=37886&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=37886&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=37886&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=37886&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=37886&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=37886&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=37886&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=37886&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=37886&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=37886&r=mysqlcfg