File tree Expand file tree Collapse file tree 2 files changed +34
-15
lines changed Expand file tree Collapse file tree 2 files changed +34
-15
lines changed Original file line number Diff line number Diff line change @@ -2286,18 +2286,23 @@ PHP_FUNCTION(imagegammacorrect)
22862286 RETURN_THROWS ();
22872287 }
22882288
2289+ if (!zend_finite (input )) {
2290+ zend_argument_value_error (2 , "must be finite" );
2291+ RETURN_THROWS ();
2292+ }
2293+
22892294 if (output <= 0.0 ) {
22902295 zend_argument_value_error (3 , "must be greater than 0" );
22912296 RETURN_THROWS ();
22922297 }
22932298
2294- gamma = input / output ;
2295-
2296- if (UNEXPECTED (!zend_finite (gamma ))) {
2297- zend_value_error ("An input divided by an output must be finite" );
2299+ if (!zend_finite (output )) {
2300+ zend_argument_value_error (3 , "must be finite" );
22982301 RETURN_THROWS ();
22992302 }
23002303
2304+ gamma = input / output ;
2305+
23012306 im = php_gd_libgdimageptr_from_zval_p (IM );
23022307
23032308 if (gdImageTrueColor (im )) {
Original file line number Diff line number Diff line change 66<?php
77$ im = imagecreate (64 , 32 );
88
9- try {
10- imagegammacorrect ($ im , NAN , 1.0 );
11- } catch (\ValueError $ e ) {
12- echo $ e ->getMessage (), PHP_EOL ;
13- }
14- try {
15- imagegammacorrect ($ im , -NAN , 1.0 );
16- } catch (\ValueError $ e ) {
17- echo $ e ->getMessage (), PHP_EOL ;
9+ $ gammas = [
10+ [NAN , 1.0 ],
11+ [-NAN , 1.0 ],
12+ [INF , 1.0 ],
13+ [-INF , 1.0 ],
14+ [1.0 , NAN ],
15+ [1.0 , -NAN ],
16+ [1.0 , INF ],
17+ [1.0 , -INF ],
18+ ];
19+
20+ foreach ($ gammas as $ gamma ) {
21+ try {
22+ imagegammacorrect ($ im , $ gamma [0 ], $ gamma [1 ]);
23+ } catch (\ValueError $ e ) {
24+ echo $ e ->getMessage (), PHP_EOL ;
25+ }
1826}
1927?>
2028--EXPECT--
21- An input divided by an output must be finite
22- An input divided by an output must be finite
29+ imagegammacorrect(): Argument #2 ($input_gamma) must be finite
30+ imagegammacorrect(): Argument #2 ($input_gamma) must be finite
31+ imagegammacorrect(): Argument #2 ($input_gamma) must be finite
32+ imagegammacorrect(): Argument #2 ($input_gamma) must be greater than 0
33+ imagegammacorrect(): Argument #3 ($output_gamma) must be finite
34+ imagegammacorrect(): Argument #3 ($output_gamma) must be finite
35+ imagegammacorrect(): Argument #3 ($output_gamma) must be finite
36+ imagegammacorrect(): Argument #3 ($output_gamma) must be greater than 0
You can’t perform that action at this time.
0 commit comments