]> granicus.if.org Git - php/commitdiff
- MFH fix for socket_select() and some minor memory leak; NEWS entry follows.
authorMarkus Fischer <mfischer@php.net>
Wed, 1 May 2002 07:21:50 +0000 (07:21 +0000)
committerMarkus Fischer <mfischer@php.net>
Wed, 1 May 2002 07:21:50 +0000 (07:21 +0000)
ext/sockets/sockets.c

index 93a76292c5fc218856f576a9b287754597b4802d..91860566a6a9bb6309b3aaa86550b04ae5994e22 100644 (file)
@@ -97,6 +97,9 @@ static int le_iov;
 static int le_socket;
 #define le_socket_name "Socket"
 
+static unsigned char first_through_third_args_force_ref[] =
+{3, BYREF_FORCE, BYREF_FORCE, BYREF_FORCE};
+
 static unsigned char second_and_third_args_force_ref[] =
 {3, BYREF_NONE, BYREF_FORCE, BYREF_FORCE};
 
@@ -118,7 +121,7 @@ function_entry sockets_functions[] = {
        PHP_FE(socket_iovec_fetch,              NULL)
        PHP_FE(socket_iovec_add,                NULL)
        PHP_FE(socket_iovec_delete,             NULL)
-       PHP_FE(socket_select,                   NULL)
+       PHP_FE(socket_select,                   first_through_third_args_force_ref)
        PHP_FE(socket_create,                   NULL)
        PHP_FE(socket_create_listen,    NULL)
        PHP_FE(socket_create_pair,              NULL)
@@ -480,7 +483,8 @@ int php_sock_array_from_fd_set(zval *sock_array, fd_set *fds TSRMLS_DC) {
 
        /* Destroy old array, add new one */
        zend_hash_destroy(Z_ARRVAL_P(sock_array));
-   
+       efree(Z_ARRVAL_P(sock_array));
+
        zend_hash_internal_pointer_reset(new_hash);
        Z_ARRVAL_P(sock_array) = new_hash;