diff options
Diffstat (limited to 'src/lib/libcrypto/pkcs7/pk7_attr.c')
-rw-r--r-- | src/lib/libcrypto/pkcs7/pk7_attr.c | 34 |
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 | |||
129 | err: | ||
130 | PKCS7err(PKCS7_F_PKCS7_SIMPLE_SMIMECAP, ERR_R_MALLOC_FAILURE); | ||
131 | X509_ALGOR_free(alg); | ||
132 | return 0; | ||
133 | } | 133 | } |
134 | 134 | ||
135 | int | 135 | int |