dmitry Wed Apr 18 13:53:19 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/main/streams plain_wrapper.c Log: Fixed crash http://cvs.php.net/viewvc.cgi/php-src/main/streams/plain_wrapper.c?r1=1.52.2.6.2.19&r2=1.52.2.6.2.20&diff_format=u Index: php-src/main/streams/plain_wrapper.c diff -u php-src/main/streams/plain_wrapper.c:1.52.2.6.2.19 php-src/main/streams/plain_wrapper.c:1.52.2.6.2.20 --- php-src/main/streams/plain_wrapper.c:1.52.2.6.2.19 Mon Apr 16 08:09:56 2007 +++ php-src/main/streams/plain_wrapper.c Wed Apr 18 13:53:19 2007 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: plain_wrapper.c,v 1.52.2.6.2.19 2007/04/16 08:09:56 dmitry Exp $ */ +/* $Id: plain_wrapper.c,v 1.52.2.6.2.20 2007/04/18 13:53:19 dmitry Exp $ */ #include "php.h" #include "php_globals.h" @@ -714,8 +714,16 @@ return PHP_STREAM_OPTION_RETURN_ERR; } - if (range->length == 0) { - range->length = GetFileSize(hfile, NULL) - range->offset; + size = GetFileSize(hfile, NULL); + if (range->length == 0 && range->offset > 0 && range->offset < size) { + range->length = size - range->offset; + } + if (range->length == 0 || range->length > size) { + range->length = size; + } + if (range->offset >= size) { + range->offset = size; + range->length = 0; } /* figure out how big a chunk to map to be able to view the part that we need */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php