From c7cccc1c9a2e6bf41dc82a80e0772b52c70b06f0 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Fri, 18 Dec 2020 21:48:21 +0100 Subject: [PATCH] Fix leak --- ext/pdo/pdo_stmt.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index e910342582..7ea0f6df0f 100644 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -569,13 +569,14 @@ static inline void fetch_value(pdo_stmt_t *stmt, zval *dest, int colno, int *typ } } else if (!stmt->dbh->stringify && new_type != PDO_PARAM_STR) { /* they gave us a string, but LOBs are represented as streams in PDO */ - php_stream *stm = php_stream_memory_open(TEMP_STREAM_READONLY, - zend_string_init(value, value_len, 0)); - if (stm) { - php_stream_to_zval(stm, dest); + zend_string *str = zend_string_init(value, value_len, 0); + php_stream *stream = php_stream_memory_open(TEMP_STREAM_READONLY, str); + if (stream) { + php_stream_to_zval(stream, dest); } else { ZVAL_NULL(dest); } + zend_string_release(str); } else { ZVAL_STRINGL(dest, value, value_len); } -- 2.50.1