summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-12-18 21:48:21 +0100
committerNikita Popov <nikita.ppv@gmail.com>2020-12-18 21:48:21 +0100
commitc7cccc1c9a2e6bf41dc82a80e0772b52c70b06f0 (patch)
tree5f5918a2ab61c173b8de74ce48abcb0558aa17c5
parent7904a087ec4fc156c52e0f5e8e15d798808f7843 (diff)
downloadphp-git-c7cccc1c9a2e6bf41dc82a80e0772b52c70b06f0.tar.gz
Fix leak
-rw-r--r--ext/pdo/pdo_stmt.c9
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);
}