From: Nikita Popov Date: Wed, 5 Aug 2020 14:42:40 +0000 (+0200) Subject: Merge branch 'PHP-7.4' X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=25d849d40b42ff8384beda0e8b93ef63fae11739;p=php Merge branch 'PHP-7.4' * PHP-7.4: Fix memory leak on socket_sendmsg() / socket_recvmsg() error --- 25d849d40b42ff8384beda0e8b93ef63fae11739 diff --cc ext/sockets/sendrecvmsg.c index 9e97cf00e2,b5f17a5ad4..f03fdb0c63 --- a/ext/sockets/sendrecvmsg.c +++ b/ext/sockets/sendrecvmsg.c @@@ -257,14 -263,15 +255,15 @@@ PHP_FUNCTION(socket_recvmsg /* no need to destroy/free zres -- it's NULL in this circumstance */ assert(zres == NULL); } + RETVAL_LONG((zend_long)res); } else { SOCKETS_G(last_error) = errno; - php_error_docref(NULL, E_WARNING, "error in recvmsg [%d]: %s", + php_error_docref(NULL, E_WARNING, "Error in recvmsg [%d]: %s", errno, sockets_strerror(errno)); - RETURN_FALSE; + RETVAL_FALSE; } - RETURN_LONG((zend_long)res); + allocations_dispose(&allocations); } PHP_FUNCTION(socket_cmsg_space) diff --cc ext/sockets/tests/socket_sendrecvmsg_error.phpt index 0000000000,8cd353c769..8700b4184c mode 000000,100644..100644 --- a/ext/sockets/tests/socket_sendrecvmsg_error.phpt +++ b/ext/sockets/tests/socket_sendrecvmsg_error.phpt @@@ -1,0 -1,15 +1,15 @@@ + --TEST-- + Error during socket_sendmsg() or socket_recvmsg() + --FILE-- + 1]; + socket_recvmsg($socket, $message, -1); + + ?> + --EXPECTF-- + Warning: socket_sendmsg(): error in sendmsg [%d]: %a in %s on line %d + -Warning: socket_recvmsg(): error in recvmsg [%d]: %a in %s on line %d ++Warning: socket_recvmsg(): Error in recvmsg [%d]: %a in %s on line %d