]> granicus.if.org Git - php/commitdiff
Fixed bug #72534 stream_socket_get_name crashes
authorAnatol Belski <ab@php.net>
Sun, 3 Jul 2016 15:09:19 +0000 (17:09 +0200)
committerAnatol Belski <ab@php.net>
Sun, 3 Jul 2016 15:09:19 +0000 (17:09 +0200)
ext/standard/streamsfuncs.c
ext/standard/tests/streams/bug72534.phpt [new file with mode: 0644]

index 0e5d0ce79e5b5d16f44704f984f52f7ea952565d..971bfed3b1e3f5a9dff7cc5fa157ac8f8970b365 100644 (file)
@@ -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 (file)
index 0000000..f33be8b
--- /dev/null
@@ -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)