iliaa Mon Nov 15 18:44:14 2004 EDT Modified files: (Branch: PHP_5_0) /php-src NEWS /php-src/main php_streams.h /php-src/main/streams streams.c Log: MFH: Fixed bug #29801 (Set limit on the size of mmapable data). http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1760.2.124&r2=1.1760.2.125&ty=u Index: php-src/NEWS diff -u php-src/NEWS:1.1760.2.124 php-src/NEWS:1.1760.2.125 --- php-src/NEWS:1.1760.2.124 Mon Nov 15 11:42:10 2004 +++ php-src/NEWS Mon Nov 15 18:44:13 2004 @@ -8,6 +8,7 @@ - Extended the functionality of is_subclass_of() to accept either a class name or an object as first parameter. (Andrey) - Fixed potential problems with unserializing invalid serialize data. (Marcus) +- Fixed bug #29801 (Set limit on the size of mmapable data). (Ilia) - Fixed bug #30783 (Apache crash when using ReflectionFunction:: getStaticVariables()). (Marcus) - Fixed bug #30750 (Meaningful error message when upload directory is not http://cvs.php.net/diff.php/php-src/main/php_streams.h?r1=1.95&r2=1.95.2.1&ty=u Index: php-src/main/php_streams.h diff -u php-src/main/php_streams.h:1.95 php-src/main/php_streams.h:1.95.2.1 --- php-src/main/php_streams.h:1.95 Mon Jun 21 17:08:05 2004 +++ php-src/main/php_streams.h Mon Nov 15 18:44:14 2004 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_streams.h,v 1.95 2004/06/21 21:08:05 pollita Exp $ */ +/* $Id: php_streams.h,v 1.95.2.1 2004/11/15 23:44:14 iliaa Exp $ */ #ifndef PHP_STREAMS_H #define PHP_STREAMS_H @@ -410,8 +410,11 @@ #define PHP_STREAM_OPTION_RETURN_NOTIMPL -2 /* underlying stream does not implement; streams can handle it instead */ /* copy up to maxlen bytes from src to dest. If maxlen is PHP_STREAM_COPY_ALL, copy until eof(src). - * Uses mmap if the src is a plain file and at offset 0 */ -#define PHP_STREAM_COPY_ALL -1 + * Uses mmap if the src is a plain file and at offset 0 + * To ensure we don't take up too much memory when reading large files, set the default mmap length + * at this many bytes */ +#define PHP_STREAM_COPY_ALL 2000000 + BEGIN_EXTERN_C() PHPAPI size_t _php_stream_copy_to_stream(php_stream *src, php_stream *dest, size_t maxlen STREAMS_DC TSRMLS_DC); #define php_stream_copy_to_stream(src, dest, maxlen) _php_stream_copy_to_stream((src), (dest), (maxlen) STREAMS_CC TSRMLS_CC) http://cvs.php.net/diff.php/php-src/main/streams/streams.c?r1=1.61.2.4&r2=1.61.2.5&ty=u Index: php-src/main/streams/streams.c diff -u php-src/main/streams/streams.c:1.61.2.4 php-src/main/streams/streams.c:1.61.2.5 --- php-src/main/streams/streams.c:1.61.2.4 Thu Nov 11 08:09:03 2004 +++ php-src/main/streams/streams.c Mon Nov 15 18:44:14 2004 @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: streams.c,v 1.61.2.4 2004/11/11 13:09:03 rrichards Exp $ */ +/* $Id: streams.c,v 1.61.2.5 2004/11/15 23:44:14 iliaa Exp $ */ #define _GNU_SOURCE #include "php.h" @@ -1151,7 +1151,7 @@ char *p; size_t mapped; - p = php_stream_mmap_range(stream, php_stream_tell(stream), 0, PHP_STREAM_MAP_MODE_SHARED_READONLY, &mapped); + p = php_stream_mmap_range(stream, php_stream_tell(stream), PHP_STREAM_COPY_ALL, PHP_STREAM_MAP_MODE_SHARED_READONLY, &mapped); if (p) { PHPWRITE(p, mapped);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php