Bug #66071 [NEW]: memory corruption in error handling / isc_interprete is unsafe
| From: | slavb18 at gmail dot com | Date: | Sat, 09 Nov 2013 07:02:01 +0000 |
| Subject: | Bug #66071 [NEW]: memory corruption in error handling / isc_interprete is unsafe | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-182675@lists.php.net to get a copy of this message | ||
From: slavb18 at gmail dot com
Operating system: any
PHP version: 5.4.21
Package: PDO related
Bug Type: Bug
Bug description:memory corruption in error handling / isc_interprete is unsafe
Description:
------------
isc_interprete is unsafe, it should be replaced with fb_iterpret
Test script:
---------------
CREATE EXCEPTION D_ACCESS_DENIED 'access denied';
create or alter procedure testex2
returns (
a integer)
as
begin
exception D_ACCESS_DENIED
'YXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
a=1;
suspend;
end
$q="select * from testex2";
$sth=$pdo->prepare($q);
$sth->execute();
$row=$sth->fetch(PDO::FETCH_ASSOC);
print_r($row);
Expected result:
----------------
Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]:
General error: -836 exception 2 D_ACCESS_DENIED
YXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
'
Actual result:
--------------
*** stack smashing detected ***: php terminated
======= Backtrace: =========
/lib64/libc.so.6(+0x7410f)[0x7fa80dc6410f]
/lib64/libc.so.6(__fortify_fail+0x37)[0x7fa80dce8657]
/lib64/libc.so.6(__fortify_fail+0x0)[0x7fa80dce8620]
/usr/lib64/php5/extensions/pdo_firebird.so(+0x28ee)[0x7fa807c188ee]
/usr/lib64/php5/extensions/pdo.so(+0xa5be)[0x7fa807e275be]
/usr/lib64/php5/extensions/pdo.so(+0x14855)[0x7fa807e31855]
php(+0x6cdcbc)[0x7fa80f9cecbc]
php(execute+0x1e7)[0x7fa80f939367]
php(zend_execute_scripts+0x182)[0x7fa80f90ff02]
php(php_execute_script+0x1cc)[0x7fa80f8a92cc]
php(+0x6cfd1f)[0x7fa80f9d0d1f]
php(+0x468f33)[0x7fa80f769f33]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7fa80dc11be5]
php(+0x468fd1)[0x7fa80f769fd1]
--
Edit bug report at https://bugs.php.net/bug.php?id=66071&edit=1
--
Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=66071&r=trysnapshot54
Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=66071&r=trysnapshot55
Try a snapshot (trunk): https://bugs.php.net/fix.php?id=66071&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=66071&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=66071&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=66071&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=66071&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=66071&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=66071&r=support
Expected behavior: https://bugs.php.net/fix.php?id=66071&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=66071&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=66071&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=66071&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=66071&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=66071&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=66071&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=66071&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=66071&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=66071&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=66071&r=mysqlcfg