diff options
author | Wez Furlong <wez@php.net> | 2002-10-12 02:56:34 +0000 |
---|---|---|
committer | Wez Furlong <wez@php.net> | 2002-10-12 02:56:34 +0000 |
commit | 4308a399b97d5e060ec099a9636d1f3639b8430e (patch) | |
tree | e199bad070c1537c5ccec205db08287cc3b464e9 | |
parent | ac950497a6eebc90062cce6f8cc7b9080ecc09bd (diff) | |
download | php-git-4308a399b97d5e060ec099a9636d1f3639b8430e.tar.gz |
paranoia
-rwxr-xr-x | main/streams.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/main/streams.c b/main/streams.c index a39a6c0a89..218170c0e0 100755 --- a/main/streams.c +++ b/main/streams.c @@ -464,6 +464,9 @@ static void php_stream_fill_read_buffer(php_stream *stream, size_t size TSRMLS_D /* is there enough data in the buffer ? */ if (stream->writepos - stream->readpos < (off_t)size) { size_t justread = 0; + + if (stream->eof) + return; /* no; so lets fetch more data */ @@ -522,7 +525,7 @@ PHPAPI size_t _php_stream_read(php_stream *stream, char *buf, size_t size TSRMLS didread += toread; } - if (size == 0) { + if (size == 0 || stream->eof) { break; } @@ -721,6 +724,8 @@ PHPAPI char *_php_stream_gets(php_stream *stream, char *buf, size_t maxlen TSRML if (done) { break; } + } else if (stream->eof) { + break; } else { /* XXX: Should be fine to always read chunk_size */ size_t toread = maxlen - 1; |