diff options
| author | djm <> | 2012-10-13 21:23:50 +0000 |
|---|---|---|
| committer | djm <> | 2012-10-13 21:23:50 +0000 |
| commit | 228cae30b117c2493f69ad3c195341cd6ec8d430 (patch) | |
| tree | 29ff00b10d52c0978077c4fd83c33b065bade73e /src/lib/libcrypto/evp/bio_md.c | |
| parent | 731838c66b52c0ae5888333005b74115a620aa96 (diff) | |
| download | openbsd-228cae30b117c2493f69ad3c195341cd6ec8d430.tar.gz openbsd-228cae30b117c2493f69ad3c195341cd6ec8d430.tar.bz2 openbsd-228cae30b117c2493f69ad3c195341cd6ec8d430.zip | |
import OpenSSL-1.0.1c
Diffstat (limited to 'src/lib/libcrypto/evp/bio_md.c')
| -rw-r--r-- | src/lib/libcrypto/evp/bio_md.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/lib/libcrypto/evp/bio_md.c b/src/lib/libcrypto/evp/bio_md.c index 9841e32e1a..144fdfd56a 100644 --- a/src/lib/libcrypto/evp/bio_md.c +++ b/src/lib/libcrypto/evp/bio_md.c | |||
| @@ -153,8 +153,12 @@ static int md_write(BIO *b, const char *in, int inl) | |||
| 153 | { | 153 | { |
| 154 | if (ret > 0) | 154 | if (ret > 0) |
| 155 | { | 155 | { |
| 156 | EVP_DigestUpdate(ctx,(const unsigned char *)in, | 156 | if (!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 | } | ||
| 158 | } | 162 | } |
| 159 | } | 163 | } |
| 160 | if(b->next_bio != NULL) | 164 | if(b->next_bio != NULL) |
| @@ -220,7 +224,8 @@ static long md_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
| 220 | case BIO_CTRL_DUP: | 224 | case BIO_CTRL_DUP: |
| 221 | dbio=ptr; | 225 | dbio=ptr; |
| 222 | dctx=dbio->ptr; | 226 | dctx=dbio->ptr; |
| 223 | EVP_MD_CTX_copy_ex(dctx,ctx); | 227 | if (!EVP_MD_CTX_copy_ex(dctx,ctx)) |
| 228 | return 0; | ||
| 224 | b->init=1; | 229 | b->init=1; |
| 225 | break; | 230 | break; |
| 226 | default: | 231 | default: |
