]> granicus.if.org Git - php/commitdiff
- Fixed bug #46082 (stream_set_blocking() can cause a crash in some circumstances)
authorFelipe Pena <felipe@php.net>
Fri, 24 Oct 2008 10:44:19 +0000 (10:44 +0000)
committerFelipe Pena <felipe@php.net>
Fri, 24 Oct 2008 10:44:19 +0000 (10:44 +0000)
main/network.c

index 1ce446494f433c018874dfde5ec7a24d93b62317..7dc0954d39b69ea33b4624347f8b4278f5ca7a44 100644 (file)
@@ -1057,7 +1057,11 @@ PHPAPI int php_set_sock_blocking(int socketd, int block TSRMLS_DC)
        /* with ioctlsocket, a non-zero sets nonblocking, a zero sets blocking */
        flags = !block;
        if (ioctlsocket(socketd, FIONBIO, &flags) == SOCKET_ERROR) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", WSAGetLastError());
+               char *error_string;
+               
+               error_string = php_socket_strerror(WSAGetLastError(), NULL, 0);
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", error_string);
+               efree(error_string);
                ret = FAILURE;
        }
 #else