diff options
| author | Andi Gutmans <andi@php.net> | 2001-04-30 22:47:51 +0000 |
|---|---|---|
| committer | Andi Gutmans <andi@php.net> | 2001-04-30 22:47:51 +0000 |
| commit | 6196e0bc4df513ef19f16d1078231d92dcf85523 (patch) | |
| tree | e074b701f07a5e4a77a6eda2259655f1d89123a1 | |
| parent | ba5ae96cb49f9b1526e2c154ef885e39cbe3ac46 (diff) | |
| download | php-git-6196e0bc4df513ef19f16d1078231d92dcf85523.tar.gz | |
- Fix for Bug id #10071
PR:
Submitted by:
Reviewed by:
Obtained from:
| -rw-r--r-- | sapi/cgi/cgi_main.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c index d509757432..fd8a666a39 100644 --- a/sapi/cgi/cgi_main.c +++ b/sapi/cgi/cgi_main.c @@ -89,14 +89,21 @@ static int _print_module_info ( zend_module_entry *module, void *arg ) { static int sapi_cgibin_ub_write(const char *str, uint str_length) { + const char *ptr = str; + uint remaining = str_length; size_t ret; - ret = fwrite(str, 1, str_length, stdout); - if (ret != str_length) { - php_handle_aborted_connection(); + while (remaining > 0) + { + ret = fwrite(ptr, 1, MIN(remaining, 16384), stdout); + if (!ret) { + php_handle_aborted_connection(); + } + ptr += ret; + remaining -= ret; } - return ret; + return str_length; } |
