[openssl-commits] [openssl] OpenSSL_1_0_2-stable update

Dr. Stephen Henson steve at openssl.org
Fri May 6 20:14:52 UTC 2016


The branch OpenSSL_1_0_2-stable has been updated
       via  6e216ba689c38cf8183dbe09d00af644b3d7bc10 (commit)
      from  0c4465ede7847227e2958e8a3fbcc0bc98af0e06 (commit)


- Log -----------------------------------------------------------------
commit 6e216ba689c38cf8183dbe09d00af644b3d7bc10
Author: Dr. Stephen Henson <steve at openssl.org>
Date:   Fri May 6 19:27:49 2016 +0100

    Only set CMS parameter when encrypting
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (cherry picked from commit 708cf5ded249f871fcd5e3de27d9281b1f37ae71)

-----------------------------------------------------------------------

Summary of changes:
 crypto/cms/cms_enc.c | 31 ++++++++++++++++---------------
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/crypto/cms/cms_enc.c b/crypto/cms/cms_enc.c
index 9f8e514..e282c9d 100644
--- a/crypto/cms/cms_enc.c
+++ b/crypto/cms/cms_enc.c
@@ -179,21 +179,22 @@ BIO *cms_EncryptedContent_init_bio(CMS_EncryptedContentInfo *ec)
                CMS_R_CIPHER_INITIALISATION_ERROR);
         goto err;
     }
-
-    calg->parameter = ASN1_TYPE_new();
-    if (calg->parameter == NULL) {
-        CMSerr(CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO, ERR_R_MALLOC_FAILURE);
-        goto err;
-    }
-    if (EVP_CIPHER_param_to_asn1(ctx, calg->parameter) <= 0) {
-        CMSerr(CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO,
-               CMS_R_CIPHER_PARAMETER_INITIALISATION_ERROR);
-        goto err;
-    }
-    /* If parameter type not set omit parameter */
-    if (calg->parameter->type == V_ASN1_UNDEF) {
-        ASN1_TYPE_free(calg->parameter);
-        calg->parameter = NULL;
+    if (enc) {
+        calg->parameter = ASN1_TYPE_new();
+        if (calg->parameter == NULL) {
+            CMSerr(CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO, ERR_R_MALLOC_FAILURE);
+            goto err;
+        }
+        if (EVP_CIPHER_param_to_asn1(ctx, calg->parameter) <= 0) {
+            CMSerr(CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO,
+                   CMS_R_CIPHER_PARAMETER_INITIALISATION_ERROR);
+            goto err;
+        }
+        /* If parameter type not set omit parameter */
+        if (calg->parameter->type == V_ASN1_UNDEF) {
+            ASN1_TYPE_free(calg->parameter);
+            calg->parameter = NULL;
+        }
     }
     ok = 1;
 


More information about the openssl-commits mailing list