From 194b309d2d2e49636dcb9bcc9c57b4b700a47ab3 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Mon, 7 Aug 2006 17:32:13 +0000 Subject: [PATCH] Fixed memory leak with persistent connections --- ext/pdo/pdo_dbh.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c index e98188fb14..2b0596fd63 100755 --- a/ext/pdo/pdo_dbh.c +++ b/ext/pdo/pdo_dbh.c @@ -342,7 +342,9 @@ static PHP_METHOD(PDO, dbh_constructor) /* switch over to the persistent one */ dbh = pdbh; zend_object_store_set_object(object, dbh TSRMLS_CC); - dbh->refcount++; + if (!call_factory) { + dbh->refcount++; + } } if (hashkey) { @@ -1399,6 +1401,10 @@ static void dbh_free(pdo_dbh_t *dbh TSRMLS_DC) pefree(dbh->password, dbh->is_persistent); } + if (dbh->persistent_id) { + pefree((char *)dbh->persistent_id, dbh->is_persistent); + } + if (dbh->def_stmt_ctor_args) { zval_ptr_dtor(&dbh->def_stmt_ctor_args); } -- 2.50.1