PHP 4.0 Bug #8573 Updated: Unnecessary Handle Allocation

From: Date: Sun, 07 Jan 2001 11:45:40 +0000
Subject: PHP 4.0 Bug #8573 Updated: Unnecessary Handle Allocation
Groups: php.dev 
Request: Send a blank email to php-dev+get-43235@lists.php.net to get a copy of this message
ID: 8573 Updated by: thies Reported By: tcarroll@chc-chimes.com 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@chc-chimes.com 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

« previous php.dev (#43235) next »