sockets.c has a bug in the param count which causes the length param to be ignored, below is the patch that fixes it for php-4.2.3 (but the same is present in 4.2.2). I have reported this bug upstream where they fixed it in the newer releases (4.3.x) but redhat uses an older version, so every redhat box is still affected. Can this patch still make it into redhat 8.1? (it's seriously bothersome to ask every client of mine to run a custom build php because of this bug) --- ext/sockets.org/sockets.c 2003-03-07 06:45:07.000000000 +0100 +++ ext/sockets/sockets.c 2003-03-07 06:45:19.000000000 +0100 @@ -690,7 +690,7 @@ ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket); - if (ZEND_NUM_ARGS() < 4) { + if (ZEND_NUM_ARGS() < 3) { length = str_len; }
Same bug was still present in red hat 9, however it seems that rawhide is going the php 4.3.x way. I reported this bug to the php dev's and the fix is present in the 4.2.3 and 4.3.x versions, so if redhat will update to those versions, no action is needed. Is a shame this report was ignored, and a simple patch never made it to new rh releases or erate ;-/
An errata has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2003-204.html