Bug #78421 [Opn->Sus]: Extension crash when no link identifier is given
| From: | cmb@php.net | Date: | Wed, 31 Mar 2021 11:41:32 +0000 |
| Subject: | Bug #78421 [Opn->Sus]: Extension crash when no link identifier is given | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-233097@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=78421&edit=1
ID: 78421
Updated by: cmb@php.net
Reported by: martin dot koeditz at it-syn dot de
Summary: Extension crash when no link identifier is given
-Status: Open
+Status: Suspended
Type: Bug
Package: InterBase related
Operating System: Linux
PHP Version: 7.1.31
Block user comment: N
Private report: N
New Comment:
The interbase extension is moved to PECL[1] as of PHP 7.4.0, and
is looking for a new maintainer. Until a new maintainer is found,
I suspend this ticket.
Consider to use the bundled PDO_Firebird extension, or the
php-firebird package[2] instead.
[1] <https://pecl.php.net/package/interbase>
[2] <https://github.com/FirebirdSQL/php-firebird>
Previous Comments:
------------------------------------------------------------------------
[2019-08-16 10:50:14] cmb@php.net
> If you have to enter a link, the documentation has to be
> editted.
It's not a documentation issue; rather the implementation would
have to be changed, but that would constitute a BC break.
Anyhow, this issue has basically been mentioned in the removal RFC:
<https://wiki.php.net/rfc/deprecate-and-remove-ext-interbase#what_is_broken_about_it>
------------------------------------------------------------------------
[2019-08-16 10:15:50] martin dot koeditz at it-syn dot de
Description:
------------
Documentation says:
If called without an argument, this function commits the default transaction of the default link.
If you use the function without default link, the script crashes.
Test script:
---------------
$dbh = ibase_connect('10.1.7.100', 'sysdba', 'masterkey');
$query = ibase_prepare($dbh, "UPDATE TBL_USER SET USER_DISPLAY_NAME = 'Koeditz,
Martin' WHERE USER_ID = 125");
try {
$transaction = ibase_trans();
ibase_execute($query);
ibase_commit($transaction);
}
catch(Exception $e) {
ibase_rollback($transaction);
die($e->getMessage());
}
echo "Everything is fine!";
Expected result:
----------------
If you have to enter a link, the documentation has to be editted.
The program should never crash if the argument is missed.
Actual result:
--------------
The script crashes.
Log output from Apache log:
[Fri Aug 16 11:41:08.021422 2019] [core:notice] [pid 17149] AH00052: child pid 21126 exit signal
Segmentation fault (11)
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=78421&edit=1