diff options
-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); } |