diff options
| -rw-r--r-- | src/lib/libcrypto/pkcs7/pk7_attr.c | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/src/lib/libcrypto/pkcs7/pk7_attr.c b/src/lib/libcrypto/pkcs7/pk7_attr.c index ceaba9138d..8b6fbf9d23 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.20 2025/07/31 02:10:55 tb Exp $ */ | 1 | /* $OpenBSD: pk7_attr.c,v 1.21 2025/07/31 02:21:01 tb 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 | */ |
| @@ -203,19 +203,25 @@ LCRYPTO_ALIAS(PKCS7_add0_attrib_signing_time); | |||
| 203 | 203 | ||
| 204 | int | 204 | int |
| 205 | PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si, const unsigned char *md, | 205 | PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si, const unsigned char *md, |
| 206 | int mdlen) | 206 | int md_len) |
| 207 | { | 207 | { |
| 208 | ASN1_OCTET_STRING *os; | 208 | ASN1_OCTET_STRING *os; |
| 209 | int ret = 0; | ||
| 209 | 210 | ||
| 210 | os = ASN1_OCTET_STRING_new(); | 211 | if ((os = ASN1_OCTET_STRING_new()) == NULL) |
| 211 | if (!os) | 212 | goto err; |
| 212 | return 0; | 213 | if (!ASN1_STRING_set(os, md, md_len)) |
| 213 | if (!ASN1_STRING_set(os, md, mdlen) || | 214 | goto err; |
| 214 | !PKCS7_add_signed_attribute(si, NID_pkcs9_messageDigest, | 215 | if (!PKCS7_add_signed_attribute(si, NID_pkcs9_messageDigest, |
| 215 | V_ASN1_OCTET_STRING, os)) { | 216 | V_ASN1_OCTET_STRING, os)) |
| 216 | ASN1_OCTET_STRING_free(os); | 217 | goto err; |
| 217 | return 0; | 218 | os = NULL; |
| 218 | } | 219 | |
| 219 | return 1; | 220 | ret = 1; |
| 221 | |||
| 222 | err: | ||
| 223 | ASN1_OCTET_STRING_free(os); | ||
| 224 | |||
| 225 | return ret; | ||
| 220 | } | 226 | } |
| 221 | LCRYPTO_ALIAS(PKCS7_add1_attrib_digest); | 227 | LCRYPTO_ALIAS(PKCS7_add1_attrib_digest); |
