summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-06-28 14:48:08 +0200
committerNikita Popov <nikita.ppv@gmail.com>2019-06-28 14:48:08 +0200
commit0a0ca984f0b45d874937ff47a4f7a77d530e7a10 (patch)
tree7084f844351c467d3d1c1cc9d9b83a93428a01e3 /ext
parentb4121f49306c0c411ad3f99a5dc5665a3a9ddc87 (diff)
parentca6f41aa5a15a44f841e42c7255294d521c95d5d (diff)
downloadphp-git-0a0ca984f0b45d874937ff47a4f7a77d530e7a10.tar.gz
Merge branch 'PHP-7.4'
Diffstat (limited to 'ext')
-rw-r--r--ext/mysqli/mysqli_api.c4
-rw-r--r--ext/mysqli/tests/mysqli_connect_oo_warnings.phpt2
-rw-r--r--ext/opcache/Optimizer/sccp.c1
3 files changed, 4 insertions, 3 deletions
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c
index d6a67e8cb9..9ed9df046c 100644
--- a/ext/mysqli/mysqli_api.c
+++ b/ext/mysqli/mysqli_api.c
@@ -970,7 +970,7 @@ void mysqli_stmt_fetch_libmysql(INTERNAL_FUNCTION_PARAMETERS)
zval *result;
/* it must be a reference, isn't it? */
if (Z_ISREF(stmt->result.vars[i])) {
- result = stmt->result.vars[i];
+ result = &stmt->result.vars[i];
} else {
continue; // but be safe ...
}
@@ -1083,7 +1083,7 @@ void mysqli_stmt_fetch_libmysql(INTERNAL_FUNCTION_PARAMETERS)
break;
}
} else {
- ZEND_TRY_REF_ASSIGN_NULL(result);
+ ZEND_TRY_ASSIGN_REF_NULL(result);
}
}
} else {
diff --git a/ext/mysqli/tests/mysqli_connect_oo_warnings.phpt b/ext/mysqli/tests/mysqli_connect_oo_warnings.phpt
index e5a1b0fc99..8204d0f1da 100644
--- a/ext/mysqli/tests/mysqli_connect_oo_warnings.phpt
+++ b/ext/mysqli/tests/mysqli_connect_oo_warnings.phpt
@@ -44,7 +44,7 @@ new mysqli()
--EXPECTF--
1) bail
-Warning: mysqli::mysqli(): (HY000/200%d): %s
+Warning: mysqli::__construct(): (HY000/200%d): %s
2) be quiet
%s(%d) "%s"
int(200%d)
diff --git a/ext/opcache/Optimizer/sccp.c b/ext/opcache/Optimizer/sccp.c
index da829e2860..8cbe72645c 100644
--- a/ext/opcache/Optimizer/sccp.c
+++ b/ext/opcache/Optimizer/sccp.c
@@ -2326,6 +2326,7 @@ static int try_remove_definition(sccp_ctx *ctx, int var_num, zend_ssa_var *var,
if (opline->opcode == ZEND_DO_ICALL) {
removed_ops = remove_call(ctx, opline, ssa_op);
} else if (opline->opcode == ZEND_TYPE_CHECK
+ && ssa_op->op1_use >= 0
&& !value_known(&ctx->values[ssa_op->op1_use])) {
/* For TYPE_CHECK we may compute the result value without knowing the
* operand, based on type inference information. Make sure the operand is