1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00

Add tests for oss-fuzz-61469: Undef dynamic property in ++/-- unset in error handler

This was fixed as a consequence of a3a3964497

Closes GH-12011
This commit is contained in:
George Peter Banyard
2023-08-21 15:01:46 +01:00
parent 508e70ac3c
commit 013bb5769b
5 changed files with 86 additions and 0 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)