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/