1
0
mirror of https://github.com/php/php-src.git synced 2026-04-27 01:48:26 +02:00

Merge branch 'PHP-8.3'

* PHP-8.3:
  Add tests for oss-fuzz-61469: Undef dynamic property in ++/-- unset in error handler
This commit is contained in:
George Peter Banyard
2023-09-02 23:35:16 +01:00
5 changed files with 86 additions and 0 deletions
@@ -0,0 +1,16 @@
--TEST--
OSS Fuzz #61469: Undef variable in ++/-- for dynamic property that is unset in error handler
--FILE--
<?php
class C {
function errorHandle() {
unset($this->a);
}
}
$c = new C;
set_error_handler([$c,'errorHandle']);
$c->a += 5;
var_dump($c->a);
?>
--EXPECT--
int(5)
@@ -0,0 +1,19 @@
--TEST--
OSS Fuzz #61469: Undef variable in ++/-- for dynamic property that is unset in error handler
--FILE--
<?php
class C {
function errorHandle() {
unset($this->a);
}
}
$c = new C;
set_error_handler([$c,'errorHandle']);
$v = ($c->a--);
var_dump($c->a);
var_dump($v);
?>
--EXPECT--
NULL
NULL
@@ -0,0 +1,19 @@
--TEST--
OSS Fuzz #61469: Undef variable in ++/-- for dynamic property that is unset in error handler
--FILE--
<?php
class C {
function errorHandle() {
unset($this->a);
}
}
$c = new C;
set_error_handler([$c,'errorHandle']);
$v = ($c->a--);
var_dump($c->a);
var_dump($v);
?>
--EXPECT--
NULL
NULL
@@ -0,0 +1,16 @@
--TEST--
OSS Fuzz #61469: Undef variable in ++/-- for dynamic property that is unset in error handler
--FILE--
<?php
class C {
function errorHandle() {
unset($this->a);
}
}
$c = new C;
set_error_handler([$c,'errorHandle']);
(--$c->a);
var_dump($c->a);
?>
--EXPECT--
NULL
@@ -0,0 +1,16 @@
--TEST--
OSS Fuzz #61469: Undef variable in ++/-- for dynamic property that is unset in error handler
--FILE--
<?php
class C {
function errorHandle() {
unset($this->a);
}
}
$c = new C;
set_error_handler([$c,'errorHandle']);
(++$c->a);
var_dump($c->a);
?>
--EXPECT--
int(1)