From 9c14215b7dbd6c9a5f2ebabef551fff1afaede56 Mon Sep 17 00:00:00 2001 From: Jeff Trawick Date: Thu, 27 Feb 2003 11:57:34 +0000 Subject: [PATCH] merge this mod_ssl fix into stable branch *) Fix 64-bit problem in mod_ssl input logic. [Madhusudan Mathihalli ] reviewed by: trawick, jim, stoddard git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/APACHE_2_0_BRANCH@98818 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 3 +++ STATUS | 6 +----- modules/ssl/ssl_engine_io.c | 9 +++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CHANGES b/CHANGES index 3eac7deb464..997f08dbf88 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,8 @@ Changes with Apache 2.0.45 + *) Fix 64-bit problem in mod_ssl input logic. + [Madhusudan Mathihalli ] + *) Fix potential memory leaks in mod_deflate on malformed data. PR 16046. [Justin Erenkrantz] diff --git a/STATUS b/STATUS index 62042ed8be4..49ae4da2c1c 100644 --- a/STATUS +++ b/STATUS @@ -1,5 +1,5 @@ APACHE 2.0 STATUS: -*-text-*- -Last modified at [$Date: 2003/02/27 04:25:14 $] +Last modified at [$Date: 2003/02/27 11:57:32 $] Release: @@ -73,10 +73,6 @@ PATCHES TO PORT FROM 2.1 +1: jim, wrowe, stoddard -1: - * Fix 64-bit breakage in mod_ssl. - modules/ssl/ssl_engine_io.c r1.104 - +1: trawick, jim, stoddard - * Rewrite how proxy sends its request to allow input bodies to morph the request bodies. Previously, if an input filter changed the request body, the original C-L would be sent which diff --git a/modules/ssl/ssl_engine_io.c b/modules/ssl/ssl_engine_io.c index 099e3cb3718..6d3598b2f1f 100644 --- a/modules/ssl/ssl_engine_io.c +++ b/modules/ssl/ssl_engine_io.c @@ -479,8 +479,9 @@ static apr_status_t brigade_consume(apr_bucket_brigade *bb, /* * this is the function called by SSL_read() */ -static int bio_filter_in_read(BIO *bio, char *in, int inl) +static int bio_filter_in_read(BIO *bio, char *in, int inlen) { + apr_size_t inl = inlen; bio_filter_in_ctx_t *inctx = (bio_filter_in_ctx_t *)(bio->ptr); apr_read_type_e block = inctx->block; SSLConnRec *sslconn = myConnConfig(inctx->f->c); @@ -536,13 +537,13 @@ static int bio_filter_in_read(BIO *bio, char *in, int inl) inctx->rc = brigade_consume(inctx->bb, block, in, &inl); if (inctx->rc == APR_SUCCESS) { - return inl; + return (int)inl; } if (APR_STATUS_IS_EAGAIN(inctx->rc) || APR_STATUS_IS_EINTR(inctx->rc)) { BIO_set_retry_read(bio); - return inl; + return (int)inl; } /* Unexpected errors and APR_EOF clean out the brigade. @@ -555,7 +556,7 @@ static int bio_filter_in_read(BIO *bio, char *in, int inl) /* Provide the results of this read pass, * without resetting the BIO retry_read flag */ - return inl; + return (int)inl; } return -1; -- 2.47.3