From: Arnaud Le Blanc Date: Sat, 16 May 2009 20:23:06 +0000 (+0000) Subject: MFH: Fixed bug #48307 (stream_copy_to_stream() copies 0 bytes when $source X-Git-Tag: php-5.3.0RC3~241 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a2600facdddfbed954d6aacf8333cd8402a50e83;p=php MFH: Fixed bug #48307 (stream_copy_to_stream() copies 0 bytes when $source is a socket) --- diff --git a/ext/standard/tests/streams/stream_copy_to_stream_socket.phpt b/ext/standard/tests/streams/stream_copy_to_stream_socket.phpt new file mode 100644 index 0000000000..7e304b1188 --- /dev/null +++ b/ext/standard/tests/streams/stream_copy_to_stream_socket.phpt @@ -0,0 +1,30 @@ +--TEST-- +stream_copy_to_stream() with socket as $source +--SKIPIF-- + +--FILE-- + +--EXPECT-- +string(1) "a" +string(1) "a" diff --git a/main/streams/streams.c b/main/streams/streams.c index def2acec3d..77a6b6e024 100755 --- a/main/streams/streams.c +++ b/main/streams/streams.c @@ -1322,11 +1322,8 @@ PHPAPI size_t _php_stream_copy_to_stream_ex(php_stream *src, php_stream *dest, s if (php_stream_stat(src, &ssbuf) == 0) { if (ssbuf.sb.st_size == 0 -#ifdef S_ISFIFO - && !S_ISFIFO(ssbuf.sb.st_mode) -#endif -#ifdef S_ISCHR - && !S_ISCHR(ssbuf.sb.st_mode) +#ifdef S_ISREG + && S_ISREG(ssbuf.sb.st_mode) #endif ) { *len = 0;