diff options
author | beck <> | 2014-04-26 18:56:38 +0000 |
---|---|---|
committer | beck <> | 2014-04-26 18:56:38 +0000 |
commit | 47bb6e76785f0b1c4d19d8d0a02f3eb3813f96e2 (patch) | |
tree | dff54039de6c4454b05953e2ce78edfc5693e6b5 /src/lib/libcrypto/pkcs7 | |
parent | 8f710803a9e330d7e3f2e62116ae5b3fc02bd6cf (diff) | |
download | openbsd-47bb6e76785f0b1c4d19d8d0a02f3eb3813f96e2.tar.gz openbsd-47bb6e76785f0b1c4d19d8d0a02f3eb3813f96e2.tar.bz2 openbsd-47bb6e76785f0b1c4d19d8d0a02f3eb3813f96e2.zip |
Replace all use of ERR_add_error_data with ERR_asprintf_error_data.
This avoids a lot of ugly gymnastics to do snprintfs before sending the
bag of strings to ERR, and eliminates at least one place in dso_dlfctn.c
where it was being called with the incorrect number of arguments and
using random things off the stack as addresses of strings.
ok krw@, jsing@
Diffstat (limited to 'src/lib/libcrypto/pkcs7')
-rw-r--r-- | src/lib/libcrypto/pkcs7/bio_ber.c | 4 | ||||
-rw-r--r-- | src/lib/libcrypto/pkcs7/pk7_smime.c | 2 |
2 files changed, 2 insertions, 4 deletions
diff --git a/src/lib/libcrypto/pkcs7/bio_ber.c b/src/lib/libcrypto/pkcs7/bio_ber.c index 04dc5c9b96..d787495a21 100644 --- a/src/lib/libcrypto/pkcs7/bio_ber.c +++ b/src/lib/libcrypto/pkcs7/bio_ber.c | |||
@@ -155,7 +155,6 @@ static int ber_free(BIO *a) | |||
155 | 155 | ||
156 | int bio_ber_get_header(BIO *bio, BIO_BER_CTX *ctx) | 156 | int bio_ber_get_header(BIO *bio, BIO_BER_CTX *ctx) |
157 | { | 157 | { |
158 | char buf[64]; | ||
159 | int i,j,n; | 158 | int i,j,n; |
160 | int ret; | 159 | int ret; |
161 | unsigned char *p; | 160 | unsigned char *p; |
@@ -215,8 +214,7 @@ int bio_ber_get_header(BIO *bio, BIO_BER_CTX *ctx) | |||
215 | if ((ctx->tag >= 0) && (ctx->tag != tag)) | 214 | if ((ctx->tag >= 0) && (ctx->tag != tag)) |
216 | { | 215 | { |
217 | BIOerr(BIO_F_BIO_BER_GET_HEADER,BIO_R_TAG_MISMATCH); | 216 | BIOerr(BIO_F_BIO_BER_GET_HEADER,BIO_R_TAG_MISMATCH); |
218 | sprintf(buf,"tag=%d, got %d",ctx->tag,tag); | 217 | ERR_asprintf_error_data("tag=%d, got %d", ctx->tag, tag); |
219 | ERR_add_error_data(1,buf); | ||
220 | return(-1); | 218 | return(-1); |
221 | } | 219 | } |
222 | if (ret & 0x01) | 220 | if (ret & 0x01) |
diff --git a/src/lib/libcrypto/pkcs7/pk7_smime.c b/src/lib/libcrypto/pkcs7/pk7_smime.c index a5104f8d05..6d6bd46b62 100644 --- a/src/lib/libcrypto/pkcs7/pk7_smime.c +++ b/src/lib/libcrypto/pkcs7/pk7_smime.c | |||
@@ -340,7 +340,7 @@ int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, | |||
340 | X509_STORE_CTX_cleanup(&cert_ctx); | 340 | X509_STORE_CTX_cleanup(&cert_ctx); |
341 | if (i <= 0) { | 341 | if (i <= 0) { |
342 | PKCS7err(PKCS7_F_PKCS7_VERIFY,PKCS7_R_CERTIFICATE_VERIFY_ERROR); | 342 | PKCS7err(PKCS7_F_PKCS7_VERIFY,PKCS7_R_CERTIFICATE_VERIFY_ERROR); |
343 | ERR_add_error_data(2, "Verify error:", | 343 | ERR_asprintf_error_data("Verify error:%s", |
344 | X509_verify_cert_error_string(j)); | 344 | X509_verify_cert_error_string(j)); |
345 | sk_X509_free(signers); | 345 | sk_X509_free(signers); |
346 | return 0; | 346 | return 0; |