diff options
Diffstat (limited to 'src/lib/libcrypto/evp/bio_md.c')
| -rw-r--r-- | src/lib/libcrypto/evp/bio_md.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/lib/libcrypto/evp/bio_md.c b/src/lib/libcrypto/evp/bio_md.c index 144fdfd56a..9841e32e1a 100644 --- a/src/lib/libcrypto/evp/bio_md.c +++ b/src/lib/libcrypto/evp/bio_md.c | |||
| @@ -153,12 +153,8 @@ static int md_write(BIO *b, const char *in, int inl) | |||
| 153 | { | 153 | { |
| 154 | if (ret > 0) | 154 | if (ret > 0) |
| 155 | { | 155 | { |
| 156 | if (!EVP_DigestUpdate(ctx,(const unsigned char *)in, | 156 | EVP_DigestUpdate(ctx,(const unsigned char *)in, |
| 157 | (unsigned int)ret)) | 157 | (unsigned int)ret); |
| 158 | { | ||
| 159 | BIO_clear_retry_flags(b); | ||
| 160 | return 0; | ||
| 161 | } | ||
| 162 | } | 158 | } |
| 163 | } | 159 | } |
| 164 | if(b->next_bio != NULL) | 160 | if(b->next_bio != NULL) |
| @@ -224,8 +220,7 @@ static long md_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
| 224 | case BIO_CTRL_DUP: | 220 | case BIO_CTRL_DUP: |
| 225 | dbio=ptr; | 221 | dbio=ptr; |
| 226 | dctx=dbio->ptr; | 222 | dctx=dbio->ptr; |
| 227 | if (!EVP_MD_CTX_copy_ex(dctx,ctx)) | 223 | EVP_MD_CTX_copy_ex(dctx,ctx); |
| 228 | return 0; | ||
| 229 | b->init=1; | 224 | b->init=1; |
| 230 | break; | 225 | break; |
| 231 | default: | 226 | default: |
