#14465: Update openssl to tag android-4.0.4_r2.1
diff --git a/jni/openssl/crypto/evp/bio_ok.c b/jni/openssl/crypto/evp/bio_ok.c
index e643353..98bc1ab 100644
--- a/jni/openssl/crypto/evp/bio_ok.c
+++ b/jni/openssl/crypto/evp/bio_ok.c
@@ -133,10 +133,10 @@
static int ok_free(BIO *data);
static long ok_callback_ctrl(BIO *h, int cmd, bio_info_cb *fp);
-static int sig_out(BIO* b);
-static int sig_in(BIO* b);
-static int block_out(BIO* b);
-static int block_in(BIO* b);
+static void sig_out(BIO* b);
+static void sig_in(BIO* b);
+static void block_out(BIO* b);
+static void block_in(BIO* b);
#define OK_BLOCK_SIZE (1024*4)
#define OK_BLOCK_BLOCK 4
#define IOBS (OK_BLOCK_SIZE+ OK_BLOCK_BLOCK+ 3*EVP_MAX_MD_SIZE)
@@ -266,24 +266,10 @@
ctx->buf_len+= i;
/* no signature yet -- check if we got one */
- if (ctx->sigio == 1)
- {
- if (!sig_in(b))
- {
- BIO_clear_retry_flags(b);
- return 0;
- }
- }
+ if (ctx->sigio == 1) sig_in(b);
/* signature ok -- check if we got block */
- if (ctx->sigio == 0)
- {
- if (!block_in(b))
- {
- BIO_clear_retry_flags(b);
- return 0;
- }
- }
+ if (ctx->sigio == 0) block_in(b);
/* invalid block -- cancel */
if (ctx->cont <= 0) break;
@@ -307,8 +293,7 @@
if ((ctx == NULL) || (b->next_bio == NULL) || (b->init == 0)) return(0);
- if(ctx->sigio && !sig_out(b))
- return 0;
+ if(ctx->sigio) sig_out(b);
do{
BIO_clear_retry_flags(b);
@@ -347,11 +332,7 @@
if(ctx->buf_len >= OK_BLOCK_SIZE+ OK_BLOCK_BLOCK)
{
- if (!block_out(b))
- {
- BIO_clear_retry_flags(b);
- return 0;
- }
+ block_out(b);
}
}while(inl > 0);
@@ -398,8 +379,7 @@
case BIO_CTRL_FLUSH:
/* do a final write */
if(ctx->blockout == 0)
- if (!block_out(b))
- return 0;
+ block_out(b);
while (ctx->blockout)
{
@@ -428,8 +408,7 @@
break;
case BIO_C_SET_MD:
md=ptr;
- if (!EVP_DigestInit_ex(&ctx->md, md, NULL))
- return 0;
+ EVP_DigestInit_ex(&ctx->md, md, NULL);
b->init=1;
break;
case BIO_C_GET_MD:
@@ -476,7 +455,7 @@
}
}
-static int sig_out(BIO* b)
+static void sig_out(BIO* b)
{
BIO_OK_CTX *ctx;
EVP_MD_CTX *md;
@@ -484,10 +463,9 @@
ctx=b->ptr;
md=&ctx->md;
- if(ctx->buf_len+ 2* md->digest->md_size > OK_BLOCK_SIZE) return 1;
+ if(ctx->buf_len+ 2* md->digest->md_size > OK_BLOCK_SIZE) return;
- if (!EVP_DigestInit_ex(md, md->digest, NULL))
- goto berr;
+ EVP_DigestInit_ex(md, md->digest, NULL);
/* FIXME: there's absolutely no guarantee this makes any sense at all,
* particularly now EVP_MD_CTX has been restructured.
*/
@@ -496,20 +474,14 @@
longswap(&(ctx->buf[ctx->buf_len]), md->digest->md_size);
ctx->buf_len+= md->digest->md_size;
- if (!EVP_DigestUpdate(md, WELLKNOWN, strlen(WELLKNOWN)))
- goto berr;
- if (!EVP_DigestFinal_ex(md, &(ctx->buf[ctx->buf_len]), NULL))
- goto berr;
+ EVP_DigestUpdate(md, WELLKNOWN, strlen(WELLKNOWN));
+ EVP_DigestFinal_ex(md, &(ctx->buf[ctx->buf_len]), NULL);
ctx->buf_len+= md->digest->md_size;
ctx->blockout= 1;
ctx->sigio= 0;
- return 1;
- berr:
- BIO_clear_retry_flags(b);
- return 0;
}
-static int sig_in(BIO* b)
+static void sig_in(BIO* b)
{
BIO_OK_CTX *ctx;
EVP_MD_CTX *md;
@@ -519,18 +491,15 @@
ctx=b->ptr;
md=&ctx->md;
- if((int)(ctx->buf_len-ctx->buf_off) < 2*md->digest->md_size) return 1;
+ if((int)(ctx->buf_len-ctx->buf_off) < 2*md->digest->md_size) return;
- if (!EVP_DigestInit_ex(md, md->digest, NULL))
- goto berr;
+ EVP_DigestInit_ex(md, md->digest, NULL);
memcpy(md->md_data, &(ctx->buf[ctx->buf_off]), md->digest->md_size);
longswap(md->md_data, md->digest->md_size);
ctx->buf_off+= md->digest->md_size;
- if (!EVP_DigestUpdate(md, WELLKNOWN, strlen(WELLKNOWN)))
- goto berr;
- if (!EVP_DigestFinal_ex(md, tmp, NULL))
- goto berr;
+ EVP_DigestUpdate(md, WELLKNOWN, strlen(WELLKNOWN));
+ EVP_DigestFinal_ex(md, tmp, NULL);
ret= memcmp(&(ctx->buf[ctx->buf_off]), tmp, md->digest->md_size) == 0;
ctx->buf_off+= md->digest->md_size;
if(ret == 1)
@@ -547,13 +516,9 @@
{
ctx->cont= 0;
}
- return 1;
- berr:
- BIO_clear_retry_flags(b);
- return 0;
}
-static int block_out(BIO* b)
+static void block_out(BIO* b)
{
BIO_OK_CTX *ctx;
EVP_MD_CTX *md;
@@ -567,20 +532,13 @@
ctx->buf[1]=(unsigned char)(tl>>16);
ctx->buf[2]=(unsigned char)(tl>>8);
ctx->buf[3]=(unsigned char)(tl);
- if (!EVP_DigestUpdate(md,
- (unsigned char*) &(ctx->buf[OK_BLOCK_BLOCK]), tl))
- goto berr;
- if (!EVP_DigestFinal_ex(md, &(ctx->buf[ctx->buf_len]), NULL))
- goto berr;
+ EVP_DigestUpdate(md, (unsigned char*) &(ctx->buf[OK_BLOCK_BLOCK]), tl);
+ EVP_DigestFinal_ex(md, &(ctx->buf[ctx->buf_len]), NULL);
ctx->buf_len+= md->digest->md_size;
ctx->blockout= 1;
- return 1;
- berr:
- BIO_clear_retry_flags(b);
- return 0;
}
-static int block_in(BIO* b)
+static void block_in(BIO* b)
{
BIO_OK_CTX *ctx;
EVP_MD_CTX *md;
@@ -596,13 +554,10 @@
tl|=ctx->buf[2]; tl<<=8;
tl|=ctx->buf[3];
- if (ctx->buf_len < tl+ OK_BLOCK_BLOCK+ md->digest->md_size) return 1;
+ if (ctx->buf_len < tl+ OK_BLOCK_BLOCK+ md->digest->md_size) return;
- if (!EVP_DigestUpdate(md,
- (unsigned char*) &(ctx->buf[OK_BLOCK_BLOCK]), tl))
- goto berr;
- if (!EVP_DigestFinal_ex(md, tmp, NULL))
- goto berr;
+ EVP_DigestUpdate(md, (unsigned char*) &(ctx->buf[OK_BLOCK_BLOCK]), tl);
+ EVP_DigestFinal_ex(md, tmp, NULL);
if(memcmp(&(ctx->buf[tl+ OK_BLOCK_BLOCK]), tmp, md->digest->md_size) == 0)
{
/* there might be parts from next block lurking around ! */
@@ -616,9 +571,5 @@
{
ctx->cont= 0;
}
- return 1;
- berr:
- BIO_clear_retry_flags(b);
- return 0;
}