diff options
Diffstat (limited to 'src/lib/libcrypto/pem/pem_lib.c')
-rw-r--r-- | src/lib/libcrypto/pem/pem_lib.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/lib/libcrypto/pem/pem_lib.c b/src/lib/libcrypto/pem/pem_lib.c index 6f8759a9ee..852b0eaf86 100644 --- a/src/lib/libcrypto/pem/pem_lib.c +++ b/src/lib/libcrypto/pem/pem_lib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: pem_lib.c,v 1.41 2015/07/19 18:29:31 miod Exp $ */ | 1 | /* $OpenBSD: pem_lib.c,v 1.42 2015/09/10 15:56:25 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -403,7 +403,7 @@ PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp, void *x, | |||
403 | goto err; | 403 | goto err; |
404 | 404 | ||
405 | if (kstr == (unsigned char *)buf) | 405 | if (kstr == (unsigned char *)buf) |
406 | OPENSSL_cleanse(buf, PEM_BUFSIZE); | 406 | explicit_bzero(buf, PEM_BUFSIZE); |
407 | 407 | ||
408 | if (strlen(objstr) + 23 + 2 * enc->iv_len + 13 > sizeof buf) { | 408 | if (strlen(objstr) + 23 + 2 * enc->iv_len + 13 > sizeof buf) { |
409 | PEMerr(PEM_F_PEM_ASN1_WRITE_BIO, | 409 | PEMerr(PEM_F_PEM_ASN1_WRITE_BIO, |
@@ -434,12 +434,12 @@ PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp, void *x, | |||
434 | if (i <= 0) | 434 | if (i <= 0) |
435 | ret = 0; | 435 | ret = 0; |
436 | err: | 436 | err: |
437 | OPENSSL_cleanse(key, sizeof(key)); | 437 | explicit_bzero(key, sizeof(key)); |
438 | OPENSSL_cleanse(iv, sizeof(iv)); | 438 | explicit_bzero(iv, sizeof(iv)); |
439 | OPENSSL_cleanse((char *)&ctx, sizeof(ctx)); | 439 | explicit_bzero((char *)&ctx, sizeof(ctx)); |
440 | OPENSSL_cleanse(buf, PEM_BUFSIZE); | 440 | explicit_bzero(buf, PEM_BUFSIZE); |
441 | if (data != NULL) { | 441 | if (data != NULL) { |
442 | OPENSSL_cleanse(data, (unsigned int)dsize); | 442 | explicit_bzero(data, (unsigned int)dsize); |
443 | free(data); | 443 | free(data); |
444 | } | 444 | } |
445 | return (ret); | 445 | return (ret); |
@@ -480,8 +480,8 @@ PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long *plen, | |||
480 | if (o) | 480 | if (o) |
481 | o = EVP_DecryptFinal_ex(&ctx, &(data[i]), &j); | 481 | o = EVP_DecryptFinal_ex(&ctx, &(data[i]), &j); |
482 | EVP_CIPHER_CTX_cleanup(&ctx); | 482 | EVP_CIPHER_CTX_cleanup(&ctx); |
483 | OPENSSL_cleanse((char *)buf, sizeof(buf)); | 483 | explicit_bzero((char *)buf, sizeof(buf)); |
484 | OPENSSL_cleanse((char *)key, sizeof(key)); | 484 | explicit_bzero((char *)key, sizeof(key)); |
485 | if (!o) { | 485 | if (!o) { |
486 | PEMerr(PEM_F_PEM_DO_HEADER, PEM_R_BAD_DECRYPT); | 486 | PEMerr(PEM_F_PEM_DO_HEADER, PEM_R_BAD_DECRYPT); |
487 | return (0); | 487 | return (0); |
@@ -640,7 +640,7 @@ PEM_write_bio(BIO *bp, const char *name, char *header, unsigned char *data, | |||
640 | EVP_EncodeFinal(&ctx, buf, &outl); | 640 | EVP_EncodeFinal(&ctx, buf, &outl); |
641 | if ((outl > 0) && (BIO_write(bp, (char *)buf, outl) != outl)) | 641 | if ((outl > 0) && (BIO_write(bp, (char *)buf, outl) != outl)) |
642 | goto err; | 642 | goto err; |
643 | OPENSSL_cleanse(buf, PEM_BUFSIZE * 8); | 643 | explicit_bzero(buf, PEM_BUFSIZE * 8); |
644 | free(buf); | 644 | free(buf); |
645 | buf = NULL; | 645 | buf = NULL; |
646 | if ((BIO_write(bp, "-----END ", 9) != 9) || | 646 | if ((BIO_write(bp, "-----END ", 9) != 9) || |
@@ -651,7 +651,7 @@ PEM_write_bio(BIO *bp, const char *name, char *header, unsigned char *data, | |||
651 | 651 | ||
652 | err: | 652 | err: |
653 | if (buf) { | 653 | if (buf) { |
654 | OPENSSL_cleanse(buf, PEM_BUFSIZE * 8); | 654 | explicit_bzero(buf, PEM_BUFSIZE * 8); |
655 | free(buf); | 655 | free(buf); |
656 | } | 656 | } |
657 | PEMerr(PEM_F_PEM_WRITE_BIO, reason); | 657 | PEMerr(PEM_F_PEM_WRITE_BIO, reason); |