@@ -248,12 +248,16 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameters_count_exception(int
248
248
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameter_type_error (int num , zend_expected_type expected_type , zval * arg ) /* {{{ */
249
249
{
250
250
const char * space ;
251
- const char * class_name = get_active_class_name ( & space ) ;
251
+ const char * class_name ;
252
252
static const char * const expected_error [] = {
253
253
Z_EXPECTED_TYPES (Z_EXPECTED_TYPE_STR )
254
254
NULL
255
255
};
256
256
257
+ if (EG (exception )) {
258
+ return ;
259
+ }
260
+ class_name = get_active_class_name (& space );
257
261
zend_internal_type_error (ZEND_ARG_USES_STRICT_TYPES (), "%s%s%s() expects parameter %d to be %s, %s given" ,
258
262
class_name , space , get_active_function_name (), num , expected_error [expected_type ], zend_zval_type_name (arg ));
259
263
}
@@ -262,12 +266,16 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameter_type_error(int num, z
262
266
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameter_type_exception (int num , zend_expected_type expected_type , zval * arg ) /* {{{ */
263
267
{
264
268
const char * space ;
265
- const char * class_name = get_active_class_name ( & space ) ;
269
+ const char * class_name ;
266
270
static const char * const expected_error [] = {
267
271
Z_EXPECTED_TYPES (Z_EXPECTED_TYPE_STR )
268
272
NULL
269
273
};
270
274
275
+ if (EG (exception )) {
276
+ return ;
277
+ }
278
+ class_name = get_active_class_name (& space );
271
279
zend_internal_type_error (1 , "%s%s%s() expects parameter %d to be %s, %s given" ,
272
280
class_name , space , get_active_function_name (), num , expected_error [expected_type ], zend_zval_type_name (arg ));
273
281
}
@@ -276,8 +284,12 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameter_type_exception(int nu
276
284
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameter_class_error (int num , char * name , zval * arg ) /* {{{ */
277
285
{
278
286
const char * space ;
279
- const char * class_name = get_active_class_name ( & space ) ;
287
+ const char * class_name ;
280
288
289
+ if (EG (exception )) {
290
+ return ;
291
+ }
292
+ class_name = get_active_class_name (& space );
281
293
zend_internal_type_error (ZEND_ARG_USES_STRICT_TYPES (), "%s%s%s() expects parameter %d to be %s, %s given" ,
282
294
class_name , space , get_active_function_name (), num , name , zend_zval_type_name (arg ));
283
295
}
@@ -286,8 +298,12 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameter_class_error(int num,
286
298
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameter_class_exception (int num , char * name , zval * arg ) /* {{{ */
287
299
{
288
300
const char * space ;
289
- const char * class_name = get_active_class_name ( & space ) ;
301
+ const char * class_name ;
290
302
303
+ if (EG (exception )) {
304
+ return ;
305
+ }
306
+ class_name = get_active_class_name (& space );
291
307
zend_internal_type_error (1 , "%s%s%s() expects parameter %d to be %s, %s given" ,
292
308
class_name , space , get_active_function_name (), num , name , zend_zval_type_name (arg ));
293
309
}
@@ -296,8 +312,12 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameter_class_exception(int n
296
312
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_callback_error (int num , char * error ) /* {{{ */
297
313
{
298
314
const char * space ;
299
- const char * class_name = get_active_class_name ( & space ) ;
315
+ const char * class_name ;
300
316
317
+ if (EG (exception )) {
318
+ return ;
319
+ }
320
+ class_name = get_active_class_name (& space );
301
321
zend_internal_type_error (ZEND_ARG_USES_STRICT_TYPES (), "%s%s%s() expects parameter %d to be a valid callback, %s" ,
302
322
class_name , space , get_active_function_name (), num , error );
303
323
efree (error );
@@ -307,8 +327,12 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_callback_error(int num, char *e
307
327
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_callback_exception (int num , char * error ) /* {{{ */
308
328
{
309
329
const char * space ;
310
- const char * class_name = get_active_class_name ( & space ) ;
330
+ const char * class_name ;
311
331
332
+ if (EG (exception )) {
333
+ return ;
334
+ }
335
+ class_name = get_active_class_name (& space );
312
336
zend_internal_type_error (1 , "%s%s%s() expects parameter %d to be a valid callback, %s" ,
313
337
class_name , space , get_active_function_name (), num , error );
314
338
efree (error );
0 commit comments