diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-12-18 21:48:21 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-12-18 21:48:21 +0100 |
commit | c7cccc1c9a2e6bf41dc82a80e0772b52c70b06f0 (patch) | |
tree | 5f5918a2ab61c173b8de74ce48abcb0558aa17c5 | |
parent | 7904a087ec4fc156c52e0f5e8e15d798808f7843 (diff) | |
download | php-git-c7cccc1c9a2e6bf41dc82a80e0772b52c70b06f0.tar.gz |
Fix leak
-rw-r--r-- | ext/pdo/pdo_stmt.c | 9 |
1 files 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); } |