summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2016-08-16 22:50:28 +0200
committerAnatol Belski <ab@php.net>2016-08-16 22:50:28 +0200
commit77ea89cb331acb28b46de11ad5163df7dfb2e2a1 (patch)
treebae07ee92b280a5346eca6c2648bc76fdd2e5883
parent7384fcff0a764aaa9a4320a4e06bfeff89508047 (diff)
parent5391bb8be03c30cc742e67ce9f95b2767a40198d (diff)
downloadphp-git-77ea89cb331acb28b46de11ad5163df7dfb2e2a1.tar.gz
Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0: Fixed #72857 stream_socket_recvfrom read access violation
-rw-r--r--ext/standard/streamsfuncs.c2
-rw-r--r--ext/standard/tests/streams/bug72857.phpt16
2 files changed, 17 insertions, 1 deletions
diff --git a/ext/standard/streamsfuncs.c b/ext/standard/streamsfuncs.c
index 584d10dd87..3ab362f628 100644
--- a/ext/standard/streamsfuncs.c
+++ b/ext/standard/streamsfuncs.c
@@ -394,7 +394,7 @@ PHP_FUNCTION(stream_socket_recvfrom)
);
if (recvd >= 0) {
- if (zremote) {
+ if (zremote && remote_addr) {
ZVAL_STR(zremote, remote_addr);
}
ZSTR_VAL(read_buf)[recvd] = '\0';
diff --git a/ext/standard/tests/streams/bug72857.phpt b/ext/standard/tests/streams/bug72857.phpt
new file mode 100644
index 0000000000..2dc53dd672
--- /dev/null
+++ b/ext/standard/tests/streams/bug72857.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Bug #72857 stream_socket_recvfrom read access violation
+--FILE--
+<?php
+ $fp0 = fopen('stream_socket_recvfrom.tmp', 'w');
+ $v2=10;
+ $v3=STREAM_PEEK;
+ $v4="A";
+
+ var_dump(stream_socket_recvfrom($fp0,$v2,$v3,$v4), $v4);
+?>
+==DONE==
+--EXPECT--
+string(0) ""
+NULL
+==DONE==