From 1059e3dc39b65719c414ec0f31f65a77192034ab Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Thu, 22 Aug 2019 11:28:22 +0200 Subject: [PATCH] Promote warnings to errors in str_repeat() --- ext/mbstring/tests/bug73646.phpt | 7 ++---- ext/opcache/tests/bug70207.phpt | 4 +++- ext/standard/string.c | 2 +- ext/standard/tests/strings/str_repeat.phpt | Bin 3492 -> 3060 bytes .../tests/strings/str_repeat_variation1.phpt | 22 ++++++++++++++++++ 5 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 ext/standard/tests/strings/str_repeat_variation1.phpt diff --git a/ext/mbstring/tests/bug73646.phpt b/ext/mbstring/tests/bug73646.phpt index 7ac824d69c..ea57017f11 100644 --- a/ext/mbstring/tests/bug73646.phpt +++ b/ext/mbstring/tests/bug73646.phpt @@ -7,10 +7,7 @@ if (!function_exists('mb_ereg')) die('skip mbregex support not available'); ?> --FILE-- ---EXPECTF-- -Warning: str_repeat(): Second argument has to be greater than or equal to 0 in %sbug73646.php on line %d +--EXPECT-- bool(true) diff --git a/ext/opcache/tests/bug70207.phpt b/ext/opcache/tests/bug70207.phpt index 806ea7535b..2b6e48a2d4 100644 --- a/ext/opcache/tests/bug70207.phpt +++ b/ext/opcache/tests/bug70207.phpt @@ -14,7 +14,9 @@ function bar() { } function foo() { try { return bar(); } - finally { @str_repeat("foo", -10); } + finally { + @fopen("non-existent", 'r'); + } } var_dump(foo()); diff --git a/ext/standard/string.c b/ext/standard/string.c index 97114e88b6..8b97d0797d 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -5363,7 +5363,7 @@ PHP_FUNCTION(str_repeat) ZEND_PARSE_PARAMETERS_END(); if (mult < 0) { - php_error_docref(NULL, E_WARNING, "Second argument has to be greater than or equal to 0"); + zend_throw_error(NULL, "Second argument has to be greater than or equal to 0"); return; } diff --git a/ext/standard/tests/strings/str_repeat.phpt b/ext/standard/tests/strings/str_repeat.phpt index 766bea1f9c32df17825d32ffe184a7be19a54dbd..6e5f0cf68e618ec40a8e0db1fabfba3406d77b3f 100644 GIT binary patch delta 145 zcmZ1?{Y8AkKc>liEJ}Pac}mt?B}J7A)m#b+3X^SEq!_IyN3qEJ*D53@mLz8=XvDY{ z73CKxsHAE_)F`ATXXFF9x_0TQCBCV}#fj;u8k!1v3QAzJYPq=V?YOvH{QX?Hbah=L j0$iO#balBV|6`Kdyp81$J0sU*0Tu-y8NzGA4pj#LxSA%6 delta 532 zcmbtRT}uK%6pc0zrk*QG>ary6NNTPwl~NIAAV>rm^&rT!j_!cY$m}S+S%0DZ3;lqg zAo@MM)oahztRF!y_0YWB!)4C7_niB&bievAoDH6hwSg---8Q`jUrEMWKDdG_!nnqO zVElygs08H^4%^8qroi=x^dXT*)VNtd8=4Axx+$$KoC-_E-kE~kF|f0_DR3sh8FdEI zvK#RYBRdwh^GR^~v@3d+WMbiz3joQ}L6?4x9|ba`4T zR*xT_jMvEjGeqO$Ejxq3oVmGudmn!OEao3yBAQ`pe|H8fqYEO# +DONE +--EXPECT-- +bool(true) +string(42) "008081eaebfeff008081eaebfeff008081eaebfeff" +string(42) "008081eaebfeff008081eaebfeff008081eaebfeff" +DONE -- 2.40.0