From: Anatol Belski Date: Thu, 5 Nov 2015 21:11:00 +0000 (+0100) Subject: fix NULL deref in pdo_firebird X-Git-Tag: php-7.0.1RC1~156 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c1f893d894d00092aa839e236671a89948f5e431;p=php fix NULL deref in pdo_firebird ref #70862 --- diff --git a/ext/pdo_firebird/firebird_statement.c b/ext/pdo_firebird/firebird_statement.c index 1e0151dc9d..5eaf530415 100644 --- a/ext/pdo_firebird/firebird_statement.c +++ b/ext/pdo_firebird/firebird_statement.c @@ -523,12 +523,13 @@ static int firebird_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_dat } if (Z_TYPE_P(parameter) == IS_RESOURCE) { - php_stream *stm; + php_stream *stm = NULL; php_stream_from_zval_no_verify(stm, parameter); if (stm) { + zend_string *mem = php_stream_copy_to_mem(stm, PHP_STREAM_COPY_ALL, 0); zval_ptr_dtor(parameter); - ZVAL_STR(parameter, php_stream_copy_to_mem(stm, PHP_STREAM_COPY_ALL, 0)); + ZVAL_STR(parameter, mem ? mem : STR_EMPTY_ALLOC()); } else { pdo_raise_impl_error(stmt->dbh, stmt, "HY105", "Expected a stream resource"); return 0;