diff options
Diffstat (limited to 'main/network.c')
-rw-r--r-- | main/network.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/main/network.c b/main/network.c index 195a825180..15fa5aad97 100644 --- a/main/network.c +++ b/main/network.c @@ -988,10 +988,12 @@ PHPAPI php_stream *_php_stream_sock_open_from_socket(php_socket_t socket, const sock->socket = socket; stream = php_stream_alloc_rel(&php_stream_generic_socket_ops, sock, persistent_id, "r+"); - stream->flags |= PHP_STREAM_FLAG_AVOID_BLOCKING; - if (stream == NULL) + if (stream == NULL) { pefree(sock, persistent_id ? 1 : 0); + } else { + stream->flags |= PHP_STREAM_FLAG_AVOID_BLOCKING; + } return stream; } |