Re: Reordering PDO statement dtor sequence?
| From: | Matteo Beccati | Date: | Thu, 16 Jul 2015 11:26:39 +0000 |
| Subject: | Re: Reordering PDO statement dtor sequence? | ||
| References: | 1 | Groups: | php.internals php.pdo |
| Request: | Send a blank email to internals+get-87198@lists.php.net to get a copy of this message | ||
Hi cjones,
I've tried runinng the pdo_pgsql tests but I'm getting a (potentially unrelated) failure.
I'll try to investigate and run the tests for other extensions as soon as I can find some time.
Cheers
On 16/07/2015 03:16, Christopher Jones wrote:
We are looking at reordering the PDO statement-free dtors to fix a resource leak in PDO_OCI. Let me know if this will affect other drivers. Chris-- Matteo Beccati Development & Consulting - http://www.beccati.com/*** pdo_stmt.c.orig 2015-07-15 09:56:18.986187123 -0700 --- pdo_stmt.c 2015-07-15 09:57:22.292453715 -0700*************** *** 2300,2305 **** --- 2300,2309 ---- PDO_API void php_pdo_free_statement(pdo_stmt_t *stmt) { ++ if (stmt->methods && stmt->methods->dtor) { + stmt->methods->dtor(stmt); + } if (stmt->bound_params) { zend_hash_destroy(stmt->bound_params); FREE_HASHTABLE(stmt->bound_params);*************** *** 2316,2324 ****stmt->bound_columns = NULL; }- if (stmt->methods && stmt->methods->dtor) { - stmt->methods->dtor(stmt); - } if (stmt->query_string) { efree(stmt->query_string); }--- 2320,2325 ----