From: Ilia Alshanetsky Date: Tue, 25 May 2004 14:30:07 +0000 (+0000) Subject: More leak fixes. X-Git-Tag: php-5.0.0RC3RC1~44 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d782abf416f96f98c75d0eecf78ea440d380465c;p=php More leak fixes. --- diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c index b61200d613..83c1ee4eba 100755 --- a/ext/pdo/pdo_dbh.c +++ b/ext/pdo/pdo_dbh.c @@ -659,16 +659,16 @@ static void pdo_dbh_free_storage(zend_object *object TSRMLS_DC) dbh->methods->closer(dbh TSRMLS_CC); if (dbh->data_source) { - efree((char *)dbh->data_source); + pefree((char *)dbh->data_source, dbh->is_persistent); } if (dbh->username) { - efree(dbh->username); + pefree(dbh->username, dbh->is_persistent); } if (dbh->password) { - efree(dbh->password); + pefree(dbh->password, dbh->is_persistent); } - efree(dbh); + pefree(dbh, dbh->is_persistent); } zend_object_value pdo_dbh_new(zend_class_entry *ce TSRMLS_DC) diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index 2d70c38659..a78db568ec 100755 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -526,6 +526,7 @@ static PHP_METHOD(PDOStatement, fetchAll) PDO_STMT_CLEAR_ERR(); MAKE_STD_ZVAL(data); if (!do_fetch(stmt, TRUE, data, how TSRMLS_CC)) { + FREE_ZVAL(data); PDO_HANDLE_STMT_ERR(); RETURN_FALSE; } @@ -535,6 +536,7 @@ static PHP_METHOD(PDOStatement, fetchAll) add_next_index_zval(return_value, data); MAKE_STD_ZVAL(data); } while (do_fetch(stmt, TRUE, data, how TSRMLS_CC)); + FREE_ZVAL(data); } /* }}} */