Re: [PHP-DEV] Reordering PDO statement dtor sequence?
[email protected] (Matteo Beccati) Thu, 16 Jul 2015 13:26:39 +0200
| Newsgroups | php.internals,php.pdo |
|---|---|
| Message-ID | <[email protected]> |
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
>
>
> *** 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 ----
>
--
Matteo Beccati
Development & Consulting - http://www.beccati.com/