diff options
Diffstat (limited to 'ext/sockets/sendrecvmsg.c')
-rw-r--r-- | ext/sockets/sendrecvmsg.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/ext/sockets/sendrecvmsg.c b/ext/sockets/sendrecvmsg.c index 32382da7e0..cccaf4c407 100644 --- a/ext/sockets/sendrecvmsg.c +++ b/ext/sockets/sendrecvmsg.c @@ -181,8 +181,10 @@ PHP_FUNCTION(socket_sendmsg) LONG_CHECK_VALID_INT(flags); - ZEND_FETCH_RESOURCE(php_sock, php_socket *, zsocket, -1, - php_sockets_le_socket_name, php_sockets_le_socket()); + if ((php_sock = (php_socket *)zend_fetch_resource(Z_RES_P(zsocket), + php_sockets_le_socket_name, php_sockets_le_socket())) == NULL) { + RETURN_FALSE; + } msghdr = from_zval_run_conversions(zmsg, php_sock, from_zval_write_msghdr_send, sizeof(*msghdr), "msghdr", &allocations, &err); @@ -224,8 +226,10 @@ PHP_FUNCTION(socket_recvmsg) LONG_CHECK_VALID_INT(flags); - ZEND_FETCH_RESOURCE(php_sock, php_socket *, zsocket, -1, - php_sockets_le_socket_name, php_sockets_le_socket()); + if ((php_sock = (php_socket *)zend_fetch_resource(Z_RES_P(zsocket), + php_sockets_le_socket_name, php_sockets_le_socket())) == NULL) { + RETURN_FALSE; + } msghdr = from_zval_run_conversions(zmsg, php_sock, from_zval_write_msghdr_recv, sizeof(*msghdr), "msghdr", &allocations, &err); |