[PHP-DEV] PHP 4.0 Bug #8573 Updated: Unnecessary Handle Allocation From: thies <email protected>
Date: 01/07/01

ID: 8573
Updated by: thies
Reported By: tcarroll <email protected>
Old-Status: Open
Status: Closed
Bug Type: OCI8 related
Assigned To:
Comments:

fixed in CVS (PHP 3 & 4) - thanx for spotting!

Previous Comments:
---------------------------------------------------------------------------

[2001-01-06 16:52:55] tcarroll <email protected>
The following details a non-fatal bug. It results in a small memory-leak.
Within oci_execute(oci8.c), a
handle is allocated for OCIParam *param.

A call to OCIParamGet() follows in which
param is passed as an out variable. After the call,
param receives a new handle value. The original allocated handle was lost.

The call to OCIHandleAlloc() is unnecessary
and results in unrecoverable memory. A patch follows that
details the above said. It has been tested successfully.

--- oci8.c.orig Thu Nov 16 05:16:22 2000
+++ oci8.c Sat Jan 6 16:13:24 2001
@@ -1219,12 +1219,6 @@
                 statement->columns = emalloc(sizeof(HashTable));
                 zend_hash_init(statement->columns, 13, NULL, _oci_column_hash_dtor, 0);
                 
- OCIHandleAlloc(OCI(pEnv),
- (dvoid **)&param,
- OCI_DTYPE_PARAM,
- 0,
- NULL);
-
                 counter = 1;
 
                 statement->error =
@@ -1261,7 +1255,7 @@
                                                                            (dvoid *)statement->pStmt,
                                                                            OCI_HTYPE_STMT,
                                                                            statement->pError,
- (dvoid*)&param,
+ (dvoid**)&param,
                                                                            counter));
                         if (statement->error) {
                                 return 0; /* XXX we loose memory!!! */

---------------------------------------------------------------------------

Full Bug description available at: http://bugs.php.net/?id=8573

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: php-dev-unsubscribe <email protected>
For additional commands, e-mail: php-dev-help <email protected>
To contact the list administrators, e-mail: php-list-admin <email protected>