summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/pkcs7/pk7_attr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/pkcs7/pk7_attr.c')
-rw-r--r--src/lib/libcrypto/pkcs7/pk7_attr.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/lib/libcrypto/pkcs7/pk7_attr.c b/src/lib/libcrypto/pkcs7/pk7_attr.c
index 2f4d5089f5..554a47673b 100644
--- a/src/lib/libcrypto/pkcs7/pk7_attr.c
+++ b/src/lib/libcrypto/pkcs7/pk7_attr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pk7_attr.c,v 1.9 2014/06/29 17:05:36 jsing Exp $ */ 1/* $OpenBSD: pk7_attr.c,v 1.10 2014/10/28 05:46:56 miod Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2001. 3 * project 2001.
4 */ 4 */
@@ -107,29 +107,29 @@ PKCS7_simple_smimecap(STACK_OF(X509_ALGOR) *sk, int nid, int arg)
107 return 0; 107 return 0;
108 } 108 }
109 ASN1_OBJECT_free(alg->algorithm); 109 ASN1_OBJECT_free(alg->algorithm);
110 alg->algorithm = OBJ_nid2obj (nid); 110 alg->algorithm = OBJ_nid2obj(nid);
111 if (arg > 0) { 111 if (arg > 0) {
112 ASN1_INTEGER *nbit; 112 ASN1_INTEGER *nbit;
113 if (!(alg->parameter = ASN1_TYPE_new())) { 113
114 PKCS7err(PKCS7_F_PKCS7_SIMPLE_SMIMECAP, 114 if (!(alg->parameter = ASN1_TYPE_new()))
115 ERR_R_MALLOC_FAILURE); 115 goto err;
116 return 0; 116 if (!(nbit = ASN1_INTEGER_new()))
117 } 117 goto err;
118 if (!(nbit = ASN1_INTEGER_new())) { 118 if (!ASN1_INTEGER_set(nbit, arg)) {
119 PKCS7err(PKCS7_F_PKCS7_SIMPLE_SMIMECAP, 119 ASN1_INTEGER_free(nbit);
120 ERR_R_MALLOC_FAILURE); 120 goto err;
121 return 0;
122 }
123 if (!ASN1_INTEGER_set (nbit, arg)) {
124 PKCS7err(PKCS7_F_PKCS7_SIMPLE_SMIMECAP,
125 ERR_R_MALLOC_FAILURE);
126 return 0;
127 } 121 }
128 alg->parameter->value.integer = nbit; 122 alg->parameter->value.integer = nbit;
129 alg->parameter->type = V_ASN1_INTEGER; 123 alg->parameter->type = V_ASN1_INTEGER;
130 } 124 }
131 sk_X509_ALGOR_push (sk, alg); 125 if (sk_X509_ALGOR_push(sk, alg) == 0)
126 goto err;
132 return 1; 127 return 1;
128
129err:
130 PKCS7err(PKCS7_F_PKCS7_SIMPLE_SMIMECAP, ERR_R_MALLOC_FAILURE);
131 X509_ALGOR_free(alg);
132 return 0;
133} 133}
134 134
135int 135int