sniper Sat Mar 15 19:37:01 2003 EDT
Modified files:
/php4/ext/interbase interbase.c
Log:
- Fixed bug #22709 (crash within interbase when database unavailable)
Index: php4/ext/interbase/interbase.c
diff -u php4/ext/interbase/interbase.c:1.101 php4/ext/interbase/interbase.c:1.102
--- php4/ext/interbase/interbase.c:1.101 Fri Mar 14 12:37:44 2003
+++ php4/ext/interbase/interbase.c Sat Mar 15 19:37:01 2003
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: interbase.c,v 1.101 2003/03/14 17:37:44 sniper Exp $ */
+/* $Id: interbase.c,v 1.102 2003/03/16 00:37:01 sniper Exp $ */
/* TODO: Arrays, roles?
@@ -609,7 +609,7 @@
php_info_print_table_start();
php_info_print_table_row(2, "Interbase Support", "enabled");
- php_info_print_table_row(2, "Revision", "$Revision: 1.101 $");
+ php_info_print_table_row(2, "Revision", "$Revision: 1.102 $");
#ifdef COMPILE_DL_INTERBASE
php_info_print_table_row(2, "Dynamic Module", "yes");
#endif
@@ -1578,6 +1578,11 @@
{
TSRMLS_FETCH();
+ if (ib_link == NULL) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database link");
+ return FAILURE;
+ }
+
if (trans_n == 0 && ib_link->trans[0] == NULL) {
if (isc_start_transaction(IB_STATUS, &ib_link->trans[0], 1,
&ib_link->link, 0, NULL)) {
_php_ibase_error(TSRMLS_C);
@@ -1613,6 +1618,11 @@
default:
WRONG_PARAM_COUNT;
break;
+ }
+
+ if (ib_link == NULL) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database link");
+ RETURN_FALSE;
}
if (ib_link->trans[trans_n] == NULL) {
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php