|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2001-01-07 06:45 UTC] thies@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 09:00:01 2025 UTC |
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 **)¶m, - OCI_DTYPE_PARAM, - 0, - NULL); - counter = 1; statement->error = @@ -1261,7 +1255,7 @@ (dvoid *)statement->pStmt, OCI_HTYPE_STMT, statement->pError, - (dvoid*)¶m, + (dvoid**)¶m, counter)); if (statement->error) { return 0; /* XXX we loose memory!!! */