--- tomcat/jk/trunk/native/common/jk_ajp_common.c 2014/03/31 19:00:34 1583399 +++ tomcat/jk/trunk/native/common/jk_ajp_common.c 2014/04/10 12:37:18 1586282 @@ -1479,11 +1479,15 @@ /* Pick the max size since we don't know the content_length */ - if ((r->is_chunked && len == 0) || len < 0 || len > maxlen) { + if (r->is_chunked && ae->left_bytes_to_send == 0) { len = maxlen; - } - if ((jk_uint64_t)len > ae->left_bytes_to_send) { - len = (int)ae->left_bytes_to_send; + } else { + if ((jk_uint64_t)maxlen > ae->left_bytes_to_send) { + maxlen = (int)ae->left_bytes_to_send; + } + if (len < 0 || len > maxlen) { + len = maxlen; + } } if ((len = ajp_read_fully_from_server(r, l, read_buf, len)) < 0) {