summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2016-07-03 17:09:19 +0200
committerAnatol Belski <ab@php.net>2016-07-03 17:09:19 +0200
commitea9da7529c1a94a81cee234ba24ad0117cd108d6 (patch)
tree82a301119d91cf04ca5e48ff011972ec337a8ccd
parent6744737577bcbae4ff3d0082f23c9282758cacbb (diff)
downloadphp-git-ea9da7529c1a94a81cee234ba24ad0117cd108d6.tar.gz
Fixed bug #72534 stream_socket_get_name crashes
-rw-r--r--ext/standard/streamsfuncs.c2
-rw-r--r--ext/standard/tests/streams/bug72534.phpt16
2 files changed, 17 insertions, 1 deletions
diff --git a/ext/standard/streamsfuncs.c b/ext/standard/streamsfuncs.c
index 0e5d0ce79e..971bfed3b1 100644
--- a/ext/standard/streamsfuncs.c
+++ b/ext/standard/streamsfuncs.c
@@ -322,7 +322,7 @@ PHP_FUNCTION(stream_socket_get_name)
if (0 != php_stream_xport_get_name(stream, want_peer,
&name,
NULL, NULL
- )) {
+ ) || !name) {
RETURN_FALSE;
}
diff --git a/ext/standard/tests/streams/bug72534.phpt b/ext/standard/tests/streams/bug72534.phpt
new file mode 100644
index 0000000000..f33be8b06e
--- /dev/null
+++ b/ext/standard/tests/streams/bug72534.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Bug #72534 stream_socket_get_name crashes
+--FILE--
+<?php
+$fname = dirname(__FILE__) . '/aa.tmp';
+$fp0 = fopen($fname, 'w');
+var_dump(stream_socket_get_name($fp0,false));
+fclose($fp0);
+?>
+--CLEAN--
+<?php
+$fname = dirname(__FILE__) . '/aa.tmp';
+unlink($fname);
+?>
+--EXPECT--
+bool(false)