summaryrefslogtreecommitdiff
path: root/main/network.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/network.c')
-rw-r--r--main/network.c6
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;
}