From: William A. Rowe Jr Date: Wed, 25 Jul 2001 22:02:54 +0000 (+0000) Subject: Safe casts - we are assured that len_read is positive, but it must be X-Git-Tag: 2.0.22~23 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=48d57962bc371b45f34699bf59b1348534ea8a13;p=apache Safe casts - we are assured that len_read is positive, but it must be stored as an int to initially check the ap_get_client_block() result. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89717 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/generators/mod_cgi.c b/modules/generators/mod_cgi.c index 3431936985..96596150a8 100644 --- a/modules/generators/mod_cgi.c +++ b/modules/generators/mod_cgi.c @@ -682,7 +682,7 @@ static int cgi_handler(request_rec *r) * Note that we already ignore SIGPIPE in the core server. */ if (ap_should_client_block(r)) { - int dbsize, len_read; + int len_read, dbsize; apr_size_t bytes_written, bytes_to_write; apr_status_t rv; @@ -712,8 +712,9 @@ static int cgi_handler(request_rec *r) rv = apr_file_write(script_out, argsbuffer + bytes_written, &bytes_to_write); bytes_written += bytes_to_write; - } while (rv == APR_SUCCESS && bytes_written < len_read); - if (rv != APR_SUCCESS || bytes_written < len_read) { + } while (rv == APR_SUCCESS + && bytes_written < (apr_size_t)len_read); + if (rv != APR_SUCCESS || bytes_written < (apr_size_t)len_read) { /* silly script stopped reading, soak up remaining message */ while (ap_get_client_block(r, argsbuffer, HUGE_STRING_LEN) > 0) { /* dump it */