@@ -66,12 +66,11 @@ inline ssize_t sendmsg(int sockfd, const struct msghdr *msg, int flags)
66
66
}
67
67
#endif
68
68
69
- #define LONG_CHECK_VALID_INT (l ) \
69
+ #define LONG_CHECK_VALID_INT (l , arg_pos ) \
70
70
do { \
71
71
if ((l) < INT_MIN && (l) > INT_MAX) { \
72
- php_error_docref(NULL, E_WARNING, "The value " ZEND_LONG_FMT " does not fit inside " \
73
- "the boundaries of a native integer", (l)); \
74
- return; \
72
+ zend_argument_value_error((arg_pos), "must be between %d and %d", INT_MIN, INT_MAX); \
73
+ RETURN_THROWS(); \
75
74
} \
76
75
} while (0)
77
76
@@ -177,7 +176,7 @@ PHP_FUNCTION(socket_sendmsg)
177
176
RETURN_THROWS ();
178
177
}
179
178
180
- LONG_CHECK_VALID_INT (flags );
179
+ LONG_CHECK_VALID_INT (flags , 3 );
181
180
182
181
if ((php_sock = (php_socket * )zend_fetch_resource (Z_RES_P (zsocket ),
183
182
php_sockets_le_socket_name , php_sockets_le_socket ())) == NULL ) {
@@ -222,7 +221,7 @@ PHP_FUNCTION(socket_recvmsg)
222
221
RETURN_THROWS ();
223
222
}
224
223
225
- LONG_CHECK_VALID_INT (flags );
224
+ LONG_CHECK_VALID_INT (flags , 3 );
226
225
227
226
if ((php_sock = (php_socket * )zend_fetch_resource (Z_RES_P (zsocket ),
228
227
php_sockets_le_socket_name , php_sockets_le_socket ())) == NULL ) {
@@ -285,21 +284,20 @@ PHP_FUNCTION(socket_cmsg_space)
285
284
RETURN_THROWS ();
286
285
}
287
286
288
- LONG_CHECK_VALID_INT (level );
289
- LONG_CHECK_VALID_INT (type );
290
- LONG_CHECK_VALID_INT (n );
287
+ LONG_CHECK_VALID_INT (level , 1 );
288
+ LONG_CHECK_VALID_INT (type , 2 );
289
+ LONG_CHECK_VALID_INT (n , 3 );
291
290
292
291
if (n < 0 ) {
293
- php_error_docref (NULL , E_WARNING , "The third argument "
294
- "cannot be negative" );
295
- return ;
292
+ zend_argument_value_error (3 , "must be greater or equal than 0" );
293
+ RETURN_THROWS ();
296
294
}
297
295
298
296
entry = get_ancillary_reg_entry (level , type );
299
297
if (entry == NULL ) {
300
- php_error_docref ( NULL , E_WARNING , "The pair level " ZEND_LONG_FMT "/ type " ZEND_LONG_FMT " is "
301
- "not supported by PHP" , level , type );
302
- return ;
298
+ zend_value_error ( "Pair level " ZEND_LONG_FMT " and/or type " ZEND_LONG_FMT " is not supported" ,
299
+ level , type );
300
+ RETURN_THROWS () ;
303
301
}
304
302
305
303
if (entry -> var_el_size > 0 ) {
@@ -310,9 +308,8 @@ PHP_FUNCTION(socket_cmsg_space)
310
308
if (n > n_max /* zend_long overflow */
311
309
|| total_size > ZEND_LONG_MAX
312
310
|| total_size < size /* align overflow */ ) {
313
- php_error_docref (NULL , E_WARNING , "The value for the "
314
- "third argument (" ZEND_LONG_FMT ") is too large" , n );
315
- return ;
311
+ zend_argument_value_error (3 , "is too large" );
312
+ RETURN_THROWS ();
316
313
}
317
314
}
318
315
0 commit comments