summaryrefslogtreecommitdiff
path: root/ext/sockets
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sockets')
-rw-r--r--ext/sockets/sockets.c1
-rw-r--r--ext/sockets/tests/socket_accept_failure.phpt12
2 files changed, 12 insertions, 1 deletions
diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c
index c50d8d5d71..a9d0e4b885 100644
--- a/ext/sockets/sockets.c
+++ b/ext/sockets/sockets.c
@@ -272,7 +272,6 @@ static int php_accept_connect(php_socket *in_sock, php_socket *out_sock, struct
if (IS_INVALID_SOCKET(out_sock)) {
PHP_SOCKET_ERROR(out_sock, "unable to accept incoming connection", errno);
- efree(out_sock);
return 0;
}
diff --git a/ext/sockets/tests/socket_accept_failure.phpt b/ext/sockets/tests/socket_accept_failure.phpt
new file mode 100644
index 0000000000..522987469b
--- /dev/null
+++ b/ext/sockets/tests/socket_accept_failure.phpt
@@ -0,0 +1,12 @@
+--TEST--
+socket_accept() failure
+--FILE--
+<?php
+
+$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
+var_dump(socket_accept($socket));
+
+?>
+--EXPECTF--
+Warning: socket_accept(): unable to accept incoming connection [%d]: %s in %s on line %d
+bool(false)