diff options
| author | beck <> | 2014-04-26 18:56:38 +0000 |
|---|---|---|
| committer | beck <> | 2014-04-26 18:56:38 +0000 |
| commit | e7dbd7a1e2ad3e12dafa2919bc8603d60416ea4d (patch) | |
| tree | dff54039de6c4454b05953e2ce78edfc5693e6b5 /src | |
| parent | a1c73b72875dcb25545f111b3779cf0f0ebf9c88 (diff) | |
| download | openbsd-e7dbd7a1e2ad3e12dafa2919bc8603d60416ea4d.tar.gz openbsd-e7dbd7a1e2ad3e12dafa2919bc8603d60416ea4d.tar.bz2 openbsd-e7dbd7a1e2ad3e12dafa2919bc8603d60416ea4d.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 '')
74 files changed, 222 insertions, 270 deletions
diff --git a/src/lib/libcrypto/asn1/a_mbstr.c b/src/lib/libcrypto/asn1/a_mbstr.c index b59d84910f..9945ede2ac 100644 --- a/src/lib/libcrypto/asn1/a_mbstr.c +++ b/src/lib/libcrypto/asn1/a_mbstr.c | |||
| @@ -98,7 +98,6 @@ ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, | |||
| 98 | ASN1_STRING *dest; | 98 | ASN1_STRING *dest; |
| 99 | unsigned char *p; | 99 | unsigned char *p; |
| 100 | int nchar; | 100 | int nchar; |
| 101 | char strbuf[32]; | ||
| 102 | int (*cpyfunc)(unsigned long, void *) = NULL; | 101 | int (*cpyfunc)(unsigned long, void *) = NULL; |
| 103 | 102 | ||
| 104 | if (len == -1) | 103 | if (len == -1) |
| @@ -148,15 +147,13 @@ ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, | |||
| 148 | 147 | ||
| 149 | if ((minsize > 0) && (nchar < minsize)) { | 148 | if ((minsize > 0) && (nchar < minsize)) { |
| 150 | ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, ASN1_R_STRING_TOO_SHORT); | 149 | ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, ASN1_R_STRING_TOO_SHORT); |
| 151 | snprintf(strbuf, sizeof strbuf, "%ld", minsize); | 150 | ERR_asprintf_error_data("minsize=%ld", minsize); |
| 152 | ERR_add_error_data(2, "minsize=", strbuf); | ||
| 153 | return -1; | 151 | return -1; |
| 154 | } | 152 | } |
| 155 | 153 | ||
| 156 | if ((maxsize > 0) && (nchar > maxsize)) { | 154 | if ((maxsize > 0) && (nchar > maxsize)) { |
| 157 | ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, ASN1_R_STRING_TOO_LONG); | 155 | ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, ASN1_R_STRING_TOO_LONG); |
| 158 | snprintf(strbuf, sizeof strbuf, "%ld", maxsize); | 156 | ERR_asprintf_error_data("maxsize=%ld", maxsize); |
| 159 | ERR_add_error_data(2, "maxsize=", strbuf); | ||
| 160 | return -1; | 157 | return -1; |
| 161 | } | 158 | } |
| 162 | 159 | ||
diff --git a/src/lib/libcrypto/asn1/asn1_gen.c b/src/lib/libcrypto/asn1/asn1_gen.c index c66bea2ab4..598a322242 100644 --- a/src/lib/libcrypto/asn1/asn1_gen.c +++ b/src/lib/libcrypto/asn1/asn1_gen.c | |||
| @@ -291,7 +291,7 @@ asn1_cb(const char *elem, int len, void *bitstr) | |||
| 291 | 291 | ||
| 292 | if (utype == -1) { | 292 | if (utype == -1) { |
| 293 | ASN1err(ASN1_F_ASN1_CB, ASN1_R_UNKNOWN_TAG); | 293 | ASN1err(ASN1_F_ASN1_CB, ASN1_R_UNKNOWN_TAG); |
| 294 | ERR_add_error_data(2, "tag=", elem); | 294 | ERR_asprintf_error_data("tag=%s", elem); |
| 295 | return -1; | 295 | return -1; |
| 296 | } | 296 | } |
| 297 | 297 | ||
| @@ -370,7 +370,6 @@ asn1_cb(const char *elem, int len, void *bitstr) | |||
| 370 | static int | 370 | static int |
| 371 | parse_tagging(const char *vstart, int vlen, int *ptag, int *pclass) | 371 | parse_tagging(const char *vstart, int vlen, int *ptag, int *pclass) |
| 372 | { | 372 | { |
| 373 | char erch[2]; | ||
| 374 | long tag_num; | 373 | long tag_num; |
| 375 | char *eptr; | 374 | char *eptr; |
| 376 | 375 | ||
| @@ -410,10 +409,8 @@ parse_tagging(const char *vstart, int vlen, int *ptag, int *pclass) | |||
| 410 | break; | 409 | break; |
| 411 | 410 | ||
| 412 | default: | 411 | default: |
| 413 | erch[0] = *eptr; | ||
| 414 | erch[1] = 0; | ||
| 415 | ASN1err(ASN1_F_PARSE_TAGGING, ASN1_R_INVALID_MODIFIER); | 412 | ASN1err(ASN1_F_PARSE_TAGGING, ASN1_R_INVALID_MODIFIER); |
| 416 | ERR_add_error_data(2, "Char=", erch); | 413 | ERR_asprintf_error_data("Char=%c", *eptr); |
| 417 | return 0; | 414 | return 0; |
| 418 | break; | 415 | break; |
| 419 | 416 | ||
| @@ -777,7 +774,7 @@ asn1_str2type(const char *str, int format, int utype) | |||
| 777 | return atmp; | 774 | return atmp; |
| 778 | 775 | ||
| 779 | bad_str: | 776 | bad_str: |
| 780 | ERR_add_error_data(2, "string=", str); | 777 | ERR_asprintf_error_data("string=%s", str); |
| 781 | bad_form: | 778 | bad_form: |
| 782 | ASN1_TYPE_free(atmp); | 779 | ASN1_TYPE_free(atmp); |
| 783 | return NULL; | 780 | return NULL; |
diff --git a/src/lib/libcrypto/asn1/asn1_lib.c b/src/lib/libcrypto/asn1/asn1_lib.c index 4d4368aefe..c2f0837a1c 100644 --- a/src/lib/libcrypto/asn1/asn1_lib.c +++ b/src/lib/libcrypto/asn1/asn1_lib.c | |||
| @@ -459,10 +459,7 @@ ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b) | |||
| 459 | void | 459 | void |
| 460 | asn1_add_error(const unsigned char *address, int offset) | 460 | asn1_add_error(const unsigned char *address, int offset) |
| 461 | { | 461 | { |
| 462 | char tmp[128]; | 462 | ERR_asprintf_error_data("address=%p offset=%d", address, offset); |
| 463 | (void) snprintf(tmp, sizeof(tmp), "address=%p offset=%d", | ||
| 464 | address, offset); | ||
| 465 | ERR_add_error_data(1, tmp); | ||
| 466 | } | 463 | } |
| 467 | 464 | ||
| 468 | int | 465 | int |
diff --git a/src/lib/libcrypto/asn1/asn_mime.c b/src/lib/libcrypto/asn1/asn_mime.c index 248ea114e8..b30c366561 100644 --- a/src/lib/libcrypto/asn1/asn_mime.c +++ b/src/lib/libcrypto/asn1/asn_mime.c | |||
| @@ -493,7 +493,7 @@ SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it) | |||
| 493 | strcmp(hdr->value, "application/pkcs7-signature")) { | 493 | strcmp(hdr->value, "application/pkcs7-signature")) { |
| 494 | ASN1err(ASN1_F_SMIME_READ_ASN1, | 494 | ASN1err(ASN1_F_SMIME_READ_ASN1, |
| 495 | ASN1_R_SIG_INVALID_MIME_TYPE); | 495 | ASN1_R_SIG_INVALID_MIME_TYPE); |
| 496 | ERR_add_error_data(2, "type: ", hdr->value); | 496 | ERR_asprintf_error_data("type: %s", hdr->value); |
| 497 | sk_MIME_HEADER_pop_free(headers, mime_hdr_free); | 497 | sk_MIME_HEADER_pop_free(headers, mime_hdr_free); |
| 498 | sk_BIO_pop_free(parts, BIO_vfree); | 498 | sk_BIO_pop_free(parts, BIO_vfree); |
| 499 | return NULL; | 499 | return NULL; |
| @@ -520,7 +520,7 @@ SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it) | |||
| 520 | if (strcmp (hdr->value, "application/x-pkcs7-mime") && | 520 | if (strcmp (hdr->value, "application/x-pkcs7-mime") && |
| 521 | strcmp (hdr->value, "application/pkcs7-mime")) { | 521 | strcmp (hdr->value, "application/pkcs7-mime")) { |
| 522 | ASN1err(ASN1_F_SMIME_READ_ASN1, ASN1_R_INVALID_MIME_TYPE); | 522 | ASN1err(ASN1_F_SMIME_READ_ASN1, ASN1_R_INVALID_MIME_TYPE); |
| 523 | ERR_add_error_data(2, "type: ", hdr->value); | 523 | ERR_asprintf_error_data("type: %s", hdr->value); |
| 524 | sk_MIME_HEADER_pop_free(headers, mime_hdr_free); | 524 | sk_MIME_HEADER_pop_free(headers, mime_hdr_free); |
| 525 | return NULL; | 525 | return NULL; |
| 526 | } | 526 | } |
| @@ -591,7 +591,7 @@ SMIME_text(BIO *in, BIO *out) | |||
| 591 | } | 591 | } |
| 592 | if (strcmp (hdr->value, "text/plain")) { | 592 | if (strcmp (hdr->value, "text/plain")) { |
| 593 | ASN1err(ASN1_F_SMIME_TEXT, ASN1_R_INVALID_MIME_TYPE); | 593 | ASN1err(ASN1_F_SMIME_TEXT, ASN1_R_INVALID_MIME_TYPE); |
| 594 | ERR_add_error_data(2, "type: ", hdr->value); | 594 | ERR_asprintf_error_data("type: %s", hdr->value); |
| 595 | sk_MIME_HEADER_pop_free(headers, mime_hdr_free); | 595 | sk_MIME_HEADER_pop_free(headers, mime_hdr_free); |
| 596 | return 0; | 596 | return 0; |
| 597 | } | 597 | } |
diff --git a/src/lib/libcrypto/asn1/tasn_dec.c b/src/lib/libcrypto/asn1/tasn_dec.c index 560b6f3d5f..d86bc4e091 100644 --- a/src/lib/libcrypto/asn1/tasn_dec.c +++ b/src/lib/libcrypto/asn1/tasn_dec.c | |||
| @@ -496,10 +496,10 @@ auxerr: | |||
| 496 | err: | 496 | err: |
| 497 | ASN1_item_ex_free(pval, it); | 497 | ASN1_item_ex_free(pval, it); |
| 498 | if (errtt) | 498 | if (errtt) |
| 499 | ERR_add_error_data(4, "Field=", errtt->field_name, | 499 | ERR_asprintf_error_data("Field=%s, Type=%s", errtt->field_name, |
| 500 | ", Type=", it->sname); | 500 | it->sname); |
| 501 | else | 501 | else |
| 502 | ERR_add_error_data(2, "Type=", it->sname); | 502 | ERR_asprintf_error_data("Type=%s", it->sname); |
| 503 | return 0; | 503 | return 0; |
| 504 | } | 504 | } |
| 505 | 505 | ||
diff --git a/src/lib/libcrypto/bio/b_sock.c b/src/lib/libcrypto/bio/b_sock.c index 05eb362cc6..ecfaf93b99 100644 --- a/src/lib/libcrypto/bio/b_sock.c +++ b/src/lib/libcrypto/bio/b_sock.c | |||
| @@ -129,7 +129,7 @@ err: | |||
| 129 | if (locked) | 129 | if (locked) |
| 130 | CRYPTO_w_unlock(CRYPTO_LOCK_GETHOSTBYNAME); | 130 | CRYPTO_w_unlock(CRYPTO_LOCK_GETHOSTBYNAME); |
| 131 | if (err) { | 131 | if (err) { |
| 132 | ERR_add_error_data(2, "host=", str); | 132 | ERR_asprintf_error_data("host=%s", str); |
| 133 | return 0; | 133 | return 0; |
| 134 | } else | 134 | } else |
| 135 | return 1; | 135 | return 1; |
| @@ -171,7 +171,7 @@ BIO_get_port(const char *str, unsigned short *port_ptr) | |||
| 171 | *port_ptr = 70; | 171 | *port_ptr = 70; |
| 172 | else { | 172 | else { |
| 173 | SYSerr(SYS_F_GETSERVBYNAME, errno); | 173 | SYSerr(SYS_F_GETSERVBYNAME, errno); |
| 174 | ERR_add_error_data(3, "service='", str, "'"); | 174 | ERR_asprintf_error_data("service='%s'", str); |
| 175 | return (0); | 175 | return (0); |
| 176 | } | 176 | } |
| 177 | } | 177 | } |
| @@ -378,7 +378,7 @@ again: | |||
| 378 | s = socket(server.sa.sa_family, SOCK_STREAM, SOCKET_PROTOCOL); | 378 | s = socket(server.sa.sa_family, SOCK_STREAM, SOCKET_PROTOCOL); |
| 379 | if (s == -1) { | 379 | if (s == -1) { |
| 380 | SYSerr(SYS_F_SOCKET, errno); | 380 | SYSerr(SYS_F_SOCKET, errno); |
| 381 | ERR_add_error_data(3, "port='", host, "'"); | 381 | ERR_asprintf_error_data("port='%s'", host); |
| 382 | BIOerr(BIO_F_BIO_GET_ACCEPT_SOCKET, BIO_R_UNABLE_TO_CREATE_SOCKET); | 382 | BIOerr(BIO_F_BIO_GET_ACCEPT_SOCKET, BIO_R_UNABLE_TO_CREATE_SOCKET); |
| 383 | goto err; | 383 | goto err; |
| 384 | } | 384 | } |
| @@ -422,13 +422,13 @@ again: | |||
| 422 | } | 422 | } |
| 423 | #endif | 423 | #endif |
| 424 | SYSerr(SYS_F_BIND, err_num); | 424 | SYSerr(SYS_F_BIND, err_num); |
| 425 | ERR_add_error_data(3, "port='", host, "'"); | 425 | ERR_asprintf_error_data("port='%s'", host); |
| 426 | BIOerr(BIO_F_BIO_GET_ACCEPT_SOCKET, BIO_R_UNABLE_TO_BIND_SOCKET); | 426 | BIOerr(BIO_F_BIO_GET_ACCEPT_SOCKET, BIO_R_UNABLE_TO_BIND_SOCKET); |
| 427 | goto err; | 427 | goto err; |
| 428 | } | 428 | } |
| 429 | if (listen(s, MAX_LISTEN) == -1) { | 429 | if (listen(s, MAX_LISTEN) == -1) { |
| 430 | SYSerr(SYS_F_BIND, errno); | 430 | SYSerr(SYS_F_BIND, errno); |
| 431 | ERR_add_error_data(3, "port='", host, "'"); | 431 | ERR_asprintf_error_data("port='%s'", host); |
| 432 | BIOerr(BIO_F_BIO_GET_ACCEPT_SOCKET, BIO_R_UNABLE_TO_LISTEN_SOCKET); | 432 | BIOerr(BIO_F_BIO_GET_ACCEPT_SOCKET, BIO_R_UNABLE_TO_LISTEN_SOCKET); |
| 433 | goto err; | 433 | goto err; |
| 434 | } | 434 | } |
diff --git a/src/lib/libcrypto/bio/bss_conn.c b/src/lib/libcrypto/bio/bss_conn.c index b64d7d7761..d7a8619b38 100644 --- a/src/lib/libcrypto/bio/bss_conn.c +++ b/src/lib/libcrypto/bio/bss_conn.c | |||
| @@ -156,7 +156,8 @@ conn_state(BIO *b, BIO_CONNECT *c) | |||
| 156 | 156 | ||
| 157 | if (c->param_port == NULL) { | 157 | if (c->param_port == NULL) { |
| 158 | BIOerr(BIO_F_CONN_STATE, BIO_R_NO_PORT_SPECIFIED); | 158 | BIOerr(BIO_F_CONN_STATE, BIO_R_NO_PORT_SPECIFIED); |
| 159 | ERR_add_error_data(2, "host=", c->param_hostname); | 159 | ERR_asprintf_error_data("host=%s", |
| 160 | c->param_hostname); | ||
| 160 | goto exit_loop; | 161 | goto exit_loop; |
| 161 | } | 162 | } |
| 162 | c->state = BIO_CONN_S_GET_IP; | 163 | c->state = BIO_CONN_S_GET_IP; |
| @@ -193,8 +194,8 @@ conn_state(BIO *b, BIO_CONNECT *c) | |||
| 193 | ret = socket(AF_INET, SOCK_STREAM, SOCKET_PROTOCOL); | 194 | ret = socket(AF_INET, SOCK_STREAM, SOCKET_PROTOCOL); |
| 194 | if (ret == -1) { | 195 | if (ret == -1) { |
| 195 | SYSerr(SYS_F_SOCKET, errno); | 196 | SYSerr(SYS_F_SOCKET, errno); |
| 196 | ERR_add_error_data(4, "host=", | 197 | ERR_asprintf_error_data("host=%s:%s", |
| 197 | c->param_hostname, ":", c->param_port); | 198 | c->param_hostname, c->param_port); |
| 198 | BIOerr(BIO_F_CONN_STATE, | 199 | BIOerr(BIO_F_CONN_STATE, |
| 199 | BIO_R_UNABLE_TO_CREATE_SOCKET); | 200 | BIO_R_UNABLE_TO_CREATE_SOCKET); |
| 200 | goto exit_loop; | 201 | goto exit_loop; |
| @@ -208,9 +209,8 @@ conn_state(BIO *b, BIO_CONNECT *c) | |||
| 208 | if (!BIO_socket_nbio(b->num, 1)) { | 209 | if (!BIO_socket_nbio(b->num, 1)) { |
| 209 | BIOerr(BIO_F_CONN_STATE, | 210 | BIOerr(BIO_F_CONN_STATE, |
| 210 | BIO_R_ERROR_SETTING_NBIO); | 211 | BIO_R_ERROR_SETTING_NBIO); |
| 211 | ERR_add_error_data(4, "host=", | 212 | ERR_asprintf_error_data("host=%s:%s", |
| 212 | c->param_hostname, ":", | 213 | c->param_hostname, c->param_port); |
| 213 | c->param_port); | ||
| 214 | goto exit_loop; | 214 | goto exit_loop; |
| 215 | } | 215 | } |
| 216 | } | 216 | } |
| @@ -221,8 +221,8 @@ conn_state(BIO *b, BIO_CONNECT *c) | |||
| 221 | i = setsockopt(b->num, SOL_SOCKET, SO_KEEPALIVE,(char *)&i, sizeof(i)); | 221 | i = setsockopt(b->num, SOL_SOCKET, SO_KEEPALIVE,(char *)&i, sizeof(i)); |
| 222 | if (i < 0) { | 222 | if (i < 0) { |
| 223 | SYSerr(SYS_F_SOCKET, errno); | 223 | SYSerr(SYS_F_SOCKET, errno); |
| 224 | ERR_add_error_data(4, "host=", | 224 | ERR_asprintf_error_data("host=%s:%s", |
| 225 | c->param_hostname, ":", c->param_port); | 225 | c->param_hostname, c->param_port); |
| 226 | BIOerr(BIO_F_CONN_STATE, BIO_R_KEEPALIVE); | 226 | BIOerr(BIO_F_CONN_STATE, BIO_R_KEEPALIVE); |
| 227 | goto exit_loop; | 227 | goto exit_loop; |
| 228 | } | 228 | } |
| @@ -242,9 +242,8 @@ conn_state(BIO *b, BIO_CONNECT *c) | |||
| 242 | b->retry_reason = BIO_RR_CONNECT; | 242 | b->retry_reason = BIO_RR_CONNECT; |
| 243 | } else { | 243 | } else { |
| 244 | SYSerr(SYS_F_CONNECT, errno); | 244 | SYSerr(SYS_F_CONNECT, errno); |
| 245 | ERR_add_error_data(4, "host=", | 245 | ERR_asprintf_error_data("host=%s:%s", |
| 246 | c->param_hostname, ":", | 246 | c->param_hostname, c->param_port); |
| 247 | c->param_port); | ||
| 248 | BIOerr(BIO_F_CONN_STATE, | 247 | BIOerr(BIO_F_CONN_STATE, |
| 249 | BIO_R_CONNECT_ERROR); | 248 | BIO_R_CONNECT_ERROR); |
| 250 | } | 249 | } |
| @@ -258,8 +257,8 @@ conn_state(BIO *b, BIO_CONNECT *c) | |||
| 258 | if (i) { | 257 | if (i) { |
| 259 | BIO_clear_retry_flags(b); | 258 | BIO_clear_retry_flags(b); |
| 260 | SYSerr(SYS_F_CONNECT, i); | 259 | SYSerr(SYS_F_CONNECT, i); |
| 261 | ERR_add_error_data(4, "host=", | 260 | ERR_asprintf_error_data("host=%s:%s", |
| 262 | c->param_hostname, ":", c->param_port); | 261 | c->param_hostname, c->param_port); |
| 263 | BIOerr(BIO_F_CONN_STATE, | 262 | BIOerr(BIO_F_CONN_STATE, |
| 264 | BIO_R_NBIO_CONNECT_ERROR); | 263 | BIO_R_NBIO_CONNECT_ERROR); |
| 265 | ret = 0; | 264 | ret = 0; |
diff --git a/src/lib/libcrypto/bio/bss_file.c b/src/lib/libcrypto/bio/bss_file.c index acc746260e..6d5444f666 100644 --- a/src/lib/libcrypto/bio/bss_file.c +++ b/src/lib/libcrypto/bio/bss_file.c | |||
| @@ -122,7 +122,7 @@ BIO_new_file(const char *filename, const char *mode) | |||
| 122 | 122 | ||
| 123 | if (file == NULL) { | 123 | if (file == NULL) { |
| 124 | SYSerr(SYS_F_FOPEN, errno); | 124 | SYSerr(SYS_F_FOPEN, errno); |
| 125 | ERR_add_error_data(5, "fopen('", filename, "', '", mode, "')"); | 125 | ERR_asprintf_error_data("fopen('%s', '%s')", filename, mode); |
| 126 | if (errno == ENOENT) | 126 | if (errno == ENOENT) |
| 127 | BIOerr(BIO_F_BIO_NEW_FILE, BIO_R_NO_SUCH_FILE); | 127 | BIOerr(BIO_F_BIO_NEW_FILE, BIO_R_NO_SUCH_FILE); |
| 128 | else | 128 | else |
| @@ -262,7 +262,7 @@ file_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
| 262 | fp = fopen(ptr, p); | 262 | fp = fopen(ptr, p); |
| 263 | if (fp == NULL) { | 263 | if (fp == NULL) { |
| 264 | SYSerr(SYS_F_FOPEN, errno); | 264 | SYSerr(SYS_F_FOPEN, errno); |
| 265 | ERR_add_error_data(5, "fopen('", ptr, "', '", p, "')"); | 265 | ERR_asprintf_error_data("fopen('%s', '%s')", ptr, p); |
| 266 | BIOerr(BIO_F_FILE_CTRL, ERR_R_SYS_LIB); | 266 | BIOerr(BIO_F_FILE_CTRL, ERR_R_SYS_LIB); |
| 267 | ret = 0; | 267 | ret = 0; |
| 268 | break; | 268 | break; |
diff --git a/src/lib/libcrypto/cms/cms_smime.c b/src/lib/libcrypto/cms/cms_smime.c index 8c56e3a852..eed50cd6a3 100644 --- a/src/lib/libcrypto/cms/cms_smime.c +++ b/src/lib/libcrypto/cms/cms_smime.c | |||
| @@ -302,7 +302,7 @@ static int cms_signerinfo_verify_cert(CMS_SignerInfo *si, | |||
| 302 | j = X509_STORE_CTX_get_error(&ctx); | 302 | j = X509_STORE_CTX_get_error(&ctx); |
| 303 | CMSerr(CMS_F_CMS_SIGNERINFO_VERIFY_CERT, | 303 | CMSerr(CMS_F_CMS_SIGNERINFO_VERIFY_CERT, |
| 304 | CMS_R_CERTIFICATE_VERIFY_ERROR); | 304 | CMS_R_CERTIFICATE_VERIFY_ERROR); |
| 305 | ERR_add_error_data(2, "Verify error:", | 305 | ERR_asprintf_error_data("Verify error:%s", |
| 306 | X509_verify_cert_error_string(j)); | 306 | X509_verify_cert_error_string(j)); |
| 307 | goto err; | 307 | goto err; |
| 308 | } | 308 | } |
diff --git a/src/lib/libcrypto/comp/c_zlib.c b/src/lib/libcrypto/comp/c_zlib.c index aaf89429b6..3a73b3df0b 100644 --- a/src/lib/libcrypto/comp/c_zlib.c +++ b/src/lib/libcrypto/comp/c_zlib.c | |||
| @@ -551,7 +551,7 @@ bio_zlib_read(BIO *b, char *out, int outl) | |||
| 551 | if ((ret != Z_OK) && (ret != Z_STREAM_END)) { | 551 | if ((ret != Z_OK) && (ret != Z_STREAM_END)) { |
| 552 | COMPerr(COMP_F_BIO_ZLIB_READ, | 552 | COMPerr(COMP_F_BIO_ZLIB_READ, |
| 553 | COMP_R_ZLIB_INFLATE_ERROR); | 553 | COMP_R_ZLIB_INFLATE_ERROR); |
| 554 | ERR_add_error_data(2, "zlib error:", | 554 | ERR_asprintf_error_data("zlib error:%s", |
| 555 | zError(ret)); | 555 | zError(ret)); |
| 556 | return 0; | 556 | return 0; |
| 557 | } | 557 | } |
| @@ -638,7 +638,7 @@ bio_zlib_write(BIO *b, const char *in, int inl) | |||
| 638 | if (ret != Z_OK) { | 638 | if (ret != Z_OK) { |
| 639 | COMPerr(COMP_F_BIO_ZLIB_WRITE, | 639 | COMPerr(COMP_F_BIO_ZLIB_WRITE, |
| 640 | COMP_R_ZLIB_DEFLATE_ERROR); | 640 | COMP_R_ZLIB_DEFLATE_ERROR); |
| 641 | ERR_add_error_data(2, "zlib error:", zError(ret)); | 641 | ERR_asprintf_error_data("zlib error:%s", zError(ret)); |
| 642 | return 0; | 642 | return 0; |
| 643 | } | 643 | } |
| 644 | ctx->ocount = ctx->obufsize - zout->avail_out; | 644 | ctx->ocount = ctx->obufsize - zout->avail_out; |
| @@ -688,7 +688,7 @@ bio_zlib_flush(BIO *b) | |||
| 688 | else if (ret != Z_OK) { | 688 | else if (ret != Z_OK) { |
| 689 | COMPerr(COMP_F_BIO_ZLIB_FLUSH, | 689 | COMPerr(COMP_F_BIO_ZLIB_FLUSH, |
| 690 | COMP_R_ZLIB_DEFLATE_ERROR); | 690 | COMP_R_ZLIB_DEFLATE_ERROR); |
| 691 | ERR_add_error_data(2, "zlib error:", zError(ret)); | 691 | ERR_asprintf_error_data("zlib error:%s", zError(ret)); |
| 692 | return 0; | 692 | return 0; |
| 693 | } | 693 | } |
| 694 | ctx->ocount = ctx->obufsize - zout->avail_out; | 694 | ctx->ocount = ctx->obufsize - zout->avail_out; |
diff --git a/src/lib/libcrypto/conf/conf_def.c b/src/lib/libcrypto/conf/conf_def.c index 22fe7a8f60..bc9f139e7e 100644 --- a/src/lib/libcrypto/conf/conf_def.c +++ b/src/lib/libcrypto/conf/conf_def.c | |||
| @@ -218,7 +218,6 @@ def_load_bio(CONF *conf, BIO *in, long *line) | |||
| 218 | char *s, *p, *end; | 218 | char *s, *p, *end; |
| 219 | int again; | 219 | int again; |
| 220 | long eline = 0; | 220 | long eline = 0; |
| 221 | char btmp[DECIMAL_SIZE(eline) + 1]; | ||
| 222 | CONF_VALUE *v = NULL, *tv; | 221 | CONF_VALUE *v = NULL, *tv; |
| 223 | CONF_VALUE *sv = NULL; | 222 | CONF_VALUE *sv = NULL; |
| 224 | char *section = NULL, *buf; | 223 | char *section = NULL, *buf; |
| @@ -428,8 +427,7 @@ err: | |||
| 428 | free(section); | 427 | free(section); |
| 429 | if (line != NULL) | 428 | if (line != NULL) |
| 430 | *line = eline; | 429 | *line = eline; |
| 431 | snprintf(btmp, sizeof btmp, "%ld", eline); | 430 | ERR_asprintf_error_data("line %ld", eline); |
| 432 | ERR_add_error_data(2, "line ", btmp); | ||
| 433 | if ((h != conf->data) && (conf->data != NULL)) { | 431 | if ((h != conf->data) && (conf->data != NULL)) { |
| 434 | CONF_free(conf->data); | 432 | CONF_free(conf->data); |
| 435 | conf->data = NULL; | 433 | conf->data = NULL; |
diff --git a/src/lib/libcrypto/conf/conf_lib.c b/src/lib/libcrypto/conf/conf_lib.c index 469af6e825..35bdda3d64 100644 --- a/src/lib/libcrypto/conf/conf_lib.c +++ b/src/lib/libcrypto/conf/conf_lib.c | |||
| @@ -329,7 +329,7 @@ NCONF_get_string(const CONF *conf, const char *group, const char *name) | |||
| 329 | return NULL; | 329 | return NULL; |
| 330 | } | 330 | } |
| 331 | CONFerr(CONF_F_NCONF_GET_STRING, CONF_R_NO_VALUE); | 331 | CONFerr(CONF_F_NCONF_GET_STRING, CONF_R_NO_VALUE); |
| 332 | ERR_add_error_data(4, "group=", group, " name=", name); | 332 | ERR_asprintf_error_data("group=%s name=%s", group, name); |
| 333 | return NULL; | 333 | return NULL; |
| 334 | } | 334 | } |
| 335 | 335 | ||
diff --git a/src/lib/libcrypto/conf/conf_mod.c b/src/lib/libcrypto/conf/conf_mod.c index 80266e43d8..b574104791 100644 --- a/src/lib/libcrypto/conf/conf_mod.c +++ b/src/lib/libcrypto/conf/conf_mod.c | |||
| @@ -211,7 +211,7 @@ module_run(const CONF *cnf, char *name, char *value, unsigned long flags) | |||
| 211 | if (!md) { | 211 | if (!md) { |
| 212 | if (!(flags & CONF_MFLAGS_SILENT)) { | 212 | if (!(flags & CONF_MFLAGS_SILENT)) { |
| 213 | CONFerr(CONF_F_MODULE_RUN, CONF_R_UNKNOWN_MODULE_NAME); | 213 | CONFerr(CONF_F_MODULE_RUN, CONF_R_UNKNOWN_MODULE_NAME); |
| 214 | ERR_add_error_data(2, "module=", name); | 214 | ERR_asprintf_error_data("module=%s", name); |
| 215 | } | 215 | } |
| 216 | return -1; | 216 | return -1; |
| 217 | } | 217 | } |
| @@ -220,12 +220,11 @@ module_run(const CONF *cnf, char *name, char *value, unsigned long flags) | |||
| 220 | 220 | ||
| 221 | if (ret <= 0) { | 221 | if (ret <= 0) { |
| 222 | if (!(flags & CONF_MFLAGS_SILENT)) { | 222 | if (!(flags & CONF_MFLAGS_SILENT)) { |
| 223 | char rcode[DECIMAL_SIZE(ret) + 1]; | ||
| 224 | CONFerr(CONF_F_MODULE_RUN, | 223 | CONFerr(CONF_F_MODULE_RUN, |
| 225 | CONF_R_MODULE_INITIALIZATION_ERROR); | 224 | CONF_R_MODULE_INITIALIZATION_ERROR); |
| 226 | snprintf(rcode, sizeof rcode, "%-8d", ret); | 225 | ERR_asprintf_error_data |
| 227 | ERR_add_error_data(6, "module=", name, ", value=", | 226 | ("module=%s, value=%s, retcode=%-8d", |
| 228 | value, ", retcode=", rcode); | 227 | name, value, ret); |
| 229 | } | 228 | } |
| 230 | } | 229 | } |
| 231 | 230 | ||
| @@ -272,7 +271,7 @@ err: | |||
| 272 | if (dso) | 271 | if (dso) |
| 273 | DSO_free(dso); | 272 | DSO_free(dso); |
| 274 | CONFerr(CONF_F_MODULE_LOAD_DSO, errcode); | 273 | CONFerr(CONF_F_MODULE_LOAD_DSO, errcode); |
| 275 | ERR_add_error_data(4, "module=", name, ", path=", path); | 274 | ERR_asprintf_error_data("module=%s, path=%s", name, path); |
| 276 | return NULL; | 275 | return NULL; |
| 277 | } | 276 | } |
| 278 | 277 | ||
diff --git a/src/lib/libcrypto/dso/dso_dlfcn.c b/src/lib/libcrypto/dso/dso_dlfcn.c index ea4e4935aa..6cf9ab2667 100644 --- a/src/lib/libcrypto/dso/dso_dlfcn.c +++ b/src/lib/libcrypto/dso/dso_dlfcn.c | |||
| @@ -140,7 +140,8 @@ dlfcn_load(DSO *dso) | |||
| 140 | ptr = dlopen(filename, flags); | 140 | ptr = dlopen(filename, flags); |
| 141 | if (ptr == NULL) { | 141 | if (ptr == NULL) { |
| 142 | DSOerr(DSO_F_DLFCN_LOAD, DSO_R_LOAD_FAILED); | 142 | DSOerr(DSO_F_DLFCN_LOAD, DSO_R_LOAD_FAILED); |
| 143 | ERR_add_error_data(4, "filename(", filename, "): ", dlerror()); | 143 | ERR_asprintf_error_data("filename(%s): %s", filename, |
| 144 | dlerror()); | ||
| 144 | goto err; | 145 | goto err; |
| 145 | } | 146 | } |
| 146 | if (!sk_void_push(dso->meth_data, (char *)ptr)) { | 147 | if (!sk_void_push(dso->meth_data, (char *)ptr)) { |
| @@ -204,7 +205,7 @@ dlfcn_bind_var(DSO *dso, const char *symname) | |||
| 204 | sym = dlsym(ptr, symname); | 205 | sym = dlsym(ptr, symname); |
| 205 | if (sym == NULL) { | 206 | if (sym == NULL) { |
| 206 | DSOerr(DSO_F_DLFCN_BIND_VAR, DSO_R_SYM_FAILURE); | 207 | DSOerr(DSO_F_DLFCN_BIND_VAR, DSO_R_SYM_FAILURE); |
| 207 | ERR_add_error_data(4, "symname(", symname, "): ", dlerror()); | 208 | ERR_asprintf_error_data("symname(%s): %s", symname, dlerror()); |
| 208 | return (NULL); | 209 | return (NULL); |
| 209 | } | 210 | } |
| 210 | return (sym); | 211 | return (sym); |
| @@ -235,7 +236,7 @@ dlfcn_bind_func(DSO *dso, const char *symname) | |||
| 235 | u.dlret = dlsym(ptr, symname); | 236 | u.dlret = dlsym(ptr, symname); |
| 236 | if (u.dlret == NULL) { | 237 | if (u.dlret == NULL) { |
| 237 | DSOerr(DSO_F_DLFCN_BIND_FUNC, DSO_R_SYM_FAILURE); | 238 | DSOerr(DSO_F_DLFCN_BIND_FUNC, DSO_R_SYM_FAILURE); |
| 238 | ERR_add_error_data(4, "symname(", symname, "): ", dlerror()); | 239 | ERR_asprintf_error_data("symname(%s): %s", symname, dlerror()); |
| 239 | return (NULL); | 240 | return (NULL); |
| 240 | } | 241 | } |
| 241 | return u.sym; | 242 | return u.sym; |
| @@ -348,7 +349,7 @@ dlfcn_pathbyaddr(void *addr, char *path, int sz) | |||
| 348 | return len; | 349 | return len; |
| 349 | } | 350 | } |
| 350 | 351 | ||
| 351 | ERR_add_error_data(4, "dlfcn_pathbyaddr(): ", dlerror()); | 352 | ERR_asprintf_error_data("dlfcn_pathbyaddr(): %s", dlerror()); |
| 352 | return -1; | 353 | return -1; |
| 353 | } | 354 | } |
| 354 | 355 | ||
diff --git a/src/lib/libcrypto/engine/eng_cnf.c b/src/lib/libcrypto/engine/eng_cnf.c index 95c4070015..afb704e93b 100644 --- a/src/lib/libcrypto/engine/eng_cnf.c +++ b/src/lib/libcrypto/engine/eng_cnf.c | |||
| @@ -203,9 +203,9 @@ static int int_engine_configure(char *name, char *value, const CONF *cnf) | |||
| 203 | { | 203 | { |
| 204 | ENGINEerr(ENGINE_F_INT_ENGINE_CONFIGURE, ENGINE_R_ENGINE_CONFIGURATION_ERROR); | 204 | ENGINEerr(ENGINE_F_INT_ENGINE_CONFIGURE, ENGINE_R_ENGINE_CONFIGURATION_ERROR); |
| 205 | if (ecmd) | 205 | if (ecmd) |
| 206 | ERR_add_error_data(6, "section=", ecmd->section, | 206 | ERR_asprintf_error_data |
| 207 | ", name=", ecmd->name, | 207 | ("section=%s, name=%s, value=%s", |
| 208 | ", value=", ecmd->value); | 208 | ecmd->section, ecmd->name, ecmd->value); |
| 209 | } | 209 | } |
| 210 | if (e) | 210 | if (e) |
| 211 | ENGINE_free(e); | 211 | ENGINE_free(e); |
diff --git a/src/lib/libcrypto/engine/eng_fat.c b/src/lib/libcrypto/engine/eng_fat.c index 789b8d57e5..e01067566e 100644 --- a/src/lib/libcrypto/engine/eng_fat.c +++ b/src/lib/libcrypto/engine/eng_fat.c | |||
| @@ -141,7 +141,7 @@ int ENGINE_set_default_string(ENGINE *e, const char *def_list) | |||
| 141 | { | 141 | { |
| 142 | ENGINEerr(ENGINE_F_ENGINE_SET_DEFAULT_STRING, | 142 | ENGINEerr(ENGINE_F_ENGINE_SET_DEFAULT_STRING, |
| 143 | ENGINE_R_INVALID_STRING); | 143 | ENGINE_R_INVALID_STRING); |
| 144 | ERR_add_error_data(2, "str=",def_list); | 144 | ERR_asprintf_error_data("str=%s",def_list); |
| 145 | return 0; | 145 | return 0; |
| 146 | } | 146 | } |
| 147 | return ENGINE_set_default(e, flags); | 147 | return ENGINE_set_default(e, flags); |
diff --git a/src/lib/libcrypto/engine/eng_list.c b/src/lib/libcrypto/engine/eng_list.c index 95c858960b..5528b5478f 100644 --- a/src/lib/libcrypto/engine/eng_list.c +++ b/src/lib/libcrypto/engine/eng_list.c | |||
| @@ -389,7 +389,7 @@ ENGINE *ENGINE_by_id(const char *id) | |||
| 389 | { | 389 | { |
| 390 | ENGINEerr(ENGINE_F_ENGINE_BY_ID, | 390 | ENGINEerr(ENGINE_F_ENGINE_BY_ID, |
| 391 | ENGINE_R_NO_SUCH_ENGINE); | 391 | ENGINE_R_NO_SUCH_ENGINE); |
| 392 | ERR_add_error_data(2, "id=", id); | 392 | ERR_asprintf_error_data("id=%s", id); |
| 393 | } | 393 | } |
| 394 | return iterator; | 394 | return iterator; |
| 395 | #else | 395 | #else |
| @@ -416,7 +416,7 @@ ENGINE *ENGINE_by_id(const char *id) | |||
| 416 | notfound: | 416 | notfound: |
| 417 | ENGINE_free(iterator); | 417 | ENGINE_free(iterator); |
| 418 | ENGINEerr(ENGINE_F_ENGINE_BY_ID,ENGINE_R_NO_SUCH_ENGINE); | 418 | ENGINEerr(ENGINE_F_ENGINE_BY_ID,ENGINE_R_NO_SUCH_ENGINE); |
| 419 | ERR_add_error_data(2, "id=", id); | 419 | ERR_asprintf_error_data("id=%s", id); |
| 420 | return NULL; | 420 | return NULL; |
| 421 | /* EEK! Experimental code ends */ | 421 | /* EEK! Experimental code ends */ |
| 422 | #endif | 422 | #endif |
diff --git a/src/lib/libcrypto/evp/evp_pbe.c b/src/lib/libcrypto/evp/evp_pbe.c index 37a926c3fc..37683af76a 100644 --- a/src/lib/libcrypto/evp/evp_pbe.c +++ b/src/lib/libcrypto/evp/evp_pbe.c | |||
| @@ -167,7 +167,7 @@ int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen, | |||
| 167 | EVPerr(EVP_F_EVP_PBE_CIPHERINIT,EVP_R_UNKNOWN_PBE_ALGORITHM); | 167 | EVPerr(EVP_F_EVP_PBE_CIPHERINIT,EVP_R_UNKNOWN_PBE_ALGORITHM); |
| 168 | if (!pbe_obj) strlcpy (obj_tmp, "NULL", sizeof obj_tmp); | 168 | if (!pbe_obj) strlcpy (obj_tmp, "NULL", sizeof obj_tmp); |
| 169 | else i2t_ASN1_OBJECT(obj_tmp, sizeof obj_tmp, pbe_obj); | 169 | else i2t_ASN1_OBJECT(obj_tmp, sizeof obj_tmp, pbe_obj); |
| 170 | ERR_add_error_data(2, "TYPE=", obj_tmp); | 170 | ERR_asprintf_error_data("TYPE=%s", obj_tmp); |
| 171 | return 0; | 171 | return 0; |
| 172 | } | 172 | } |
| 173 | 173 | ||
diff --git a/src/lib/libcrypto/evp/evp_pkey.c b/src/lib/libcrypto/evp/evp_pkey.c index c760cf1965..94056f0da9 100644 --- a/src/lib/libcrypto/evp/evp_pkey.c +++ b/src/lib/libcrypto/evp/evp_pkey.c | |||
| @@ -83,7 +83,7 @@ EVP_PKEY *EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8) | |||
| 83 | { | 83 | { |
| 84 | EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM); | 84 | EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM); |
| 85 | i2t_ASN1_OBJECT(obj_tmp, 80, algoid); | 85 | i2t_ASN1_OBJECT(obj_tmp, 80, algoid); |
| 86 | ERR_add_error_data(2, "TYPE=", obj_tmp); | 86 | ERR_asprintf_error_data("TYPE=%s", obj_tmp); |
| 87 | goto error; | 87 | goto error; |
| 88 | } | 88 | } |
| 89 | 89 | ||
diff --git a/src/lib/libcrypto/ocsp/ocsp_ht.c b/src/lib/libcrypto/ocsp/ocsp_ht.c index 4bb6fce83c..b45eaf6767 100644 --- a/src/lib/libcrypto/ocsp/ocsp_ht.c +++ b/src/lib/libcrypto/ocsp/ocsp_ht.c | |||
| @@ -259,9 +259,9 @@ static int parse_http_line1(char *line) | |||
| 259 | { | 259 | { |
| 260 | OCSPerr(OCSP_F_PARSE_HTTP_LINE1, OCSP_R_SERVER_RESPONSE_ERROR); | 260 | OCSPerr(OCSP_F_PARSE_HTTP_LINE1, OCSP_R_SERVER_RESPONSE_ERROR); |
| 261 | if(!*q) | 261 | if(!*q) |
| 262 | ERR_add_error_data(2, "Code=", p); | 262 | ERR_asprintf_error_data("Code=%s", p); |
| 263 | else | 263 | else |
| 264 | ERR_add_error_data(4, "Code=", p, ",Reason=", q); | 264 | ERR_asprintf_error_data("Code=%s,Reason=%s", p, q); |
| 265 | return 0; | 265 | return 0; |
| 266 | } | 266 | } |
| 267 | 267 | ||
diff --git a/src/lib/libcrypto/ocsp/ocsp_vfy.c b/src/lib/libcrypto/ocsp/ocsp_vfy.c index 276718304d..0b181d5abe 100644 --- a/src/lib/libcrypto/ocsp/ocsp_vfy.c +++ b/src/lib/libcrypto/ocsp/ocsp_vfy.c | |||
| @@ -122,9 +122,9 @@ int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, | |||
| 122 | X509_STORE_CTX_cleanup(&ctx); | 122 | X509_STORE_CTX_cleanup(&ctx); |
| 123 | if (ret <= 0) | 123 | if (ret <= 0) |
| 124 | { | 124 | { |
| 125 | i = X509_STORE_CTX_get_error(&ctx); | 125 | i = X509_STORE_CTX_get_error(&ctx); |
| 126 | OCSPerr(OCSP_F_OCSP_BASIC_VERIFY,OCSP_R_CERTIFICATE_VERIFY_ERROR); | 126 | OCSPerr(OCSP_F_OCSP_BASIC_VERIFY,OCSP_R_CERTIFICATE_VERIFY_ERROR); |
| 127 | ERR_add_error_data(2, "Verify error:", | 127 | ERR_asprintf_error_data("Verify error:%s", |
| 128 | X509_verify_cert_error_string(i)); | 128 | X509_verify_cert_error_string(i)); |
| 129 | goto end; | 129 | goto end; |
| 130 | } | 130 | } |
| @@ -421,7 +421,7 @@ int OCSP_request_verify(OCSP_REQUEST *req, STACK_OF(X509) *certs, X509_STORE *st | |||
| 421 | { | 421 | { |
| 422 | ret = X509_STORE_CTX_get_error(&ctx); | 422 | ret = X509_STORE_CTX_get_error(&ctx); |
| 423 | OCSPerr(OCSP_F_OCSP_REQUEST_VERIFY,OCSP_R_CERTIFICATE_VERIFY_ERROR); | 423 | OCSPerr(OCSP_F_OCSP_REQUEST_VERIFY,OCSP_R_CERTIFICATE_VERIFY_ERROR); |
| 424 | ERR_add_error_data(2, "Verify error:", | 424 | ERR_asprintf_error_data("Verify error:%s", |
| 425 | X509_verify_cert_error_string(ret)); | 425 | X509_verify_cert_error_string(ret)); |
| 426 | return 0; | 426 | return 0; |
| 427 | } | 427 | } |
diff --git a/src/lib/libcrypto/pem/pem_lib.c b/src/lib/libcrypto/pem/pem_lib.c index c670ac2acb..9bc2b27285 100644 --- a/src/lib/libcrypto/pem/pem_lib.c +++ b/src/lib/libcrypto/pem/pem_lib.c | |||
| @@ -289,7 +289,7 @@ PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm, | |||
| 289 | if (!PEM_read_bio(bp, &nm, &header, &data, &len)) { | 289 | if (!PEM_read_bio(bp, &nm, &header, &data, &len)) { |
| 290 | if (ERR_GET_REASON(ERR_peek_error()) == | 290 | if (ERR_GET_REASON(ERR_peek_error()) == |
| 291 | PEM_R_NO_START_LINE) | 291 | PEM_R_NO_START_LINE) |
| 292 | ERR_add_error_data(2, "Expecting: ", name); | 292 | ERR_asprintf_error_data("Expecting: %s", name); |
| 293 | return 0; | 293 | return 0; |
| 294 | } | 294 | } |
| 295 | if (check_pem(nm, name)) | 295 | if (check_pem(nm, name)) |
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; |
diff --git a/src/lib/libcrypto/ts/ts_conf.c b/src/lib/libcrypto/ts/ts_conf.c index f8cf3b514c..12cce16bc8 100644 --- a/src/lib/libcrypto/ts/ts_conf.c +++ b/src/lib/libcrypto/ts/ts_conf.c | |||
| @@ -239,7 +239,7 @@ err: | |||
| 239 | if (!ret) { | 239 | if (!ret) { |
| 240 | TSerr(TS_F_TS_CONF_SET_DEFAULT_ENGINE, | 240 | TSerr(TS_F_TS_CONF_SET_DEFAULT_ENGINE, |
| 241 | TS_R_COULD_NOT_SET_ENGINE); | 241 | TS_R_COULD_NOT_SET_ENGINE); |
| 242 | ERR_add_error_data(2, "engine:", name); | 242 | ERR_asprintf_error_data("engine:%s", name); |
| 243 | } | 243 | } |
| 244 | if (e) | 244 | if (e) |
| 245 | ENGINE_free(e); | 245 | ENGINE_free(e); |
diff --git a/src/lib/libcrypto/ts/ts_rsp_verify.c b/src/lib/libcrypto/ts/ts_rsp_verify.c index 66e35dab3a..2a4c0c5ef9 100644 --- a/src/lib/libcrypto/ts/ts_rsp_verify.c +++ b/src/lib/libcrypto/ts/ts_rsp_verify.c | |||
| @@ -244,7 +244,7 @@ TS_verify_cert(X509_STORE *store, STACK_OF(X509) *untrusted, X509 *signer, | |||
| 244 | if (i <= 0) { | 244 | if (i <= 0) { |
| 245 | int j = X509_STORE_CTX_get_error(&cert_ctx); | 245 | int j = X509_STORE_CTX_get_error(&cert_ctx); |
| 246 | TSerr(TS_F_TS_VERIFY_CERT, TS_R_CERTIFICATE_VERIFY_ERROR); | 246 | TSerr(TS_F_TS_VERIFY_CERT, TS_R_CERTIFICATE_VERIFY_ERROR); |
| 247 | ERR_add_error_data(2, "Verify error:", | 247 | ERR_asprintf_error_data("Verify error:%s", |
| 248 | X509_verify_cert_error_string(j)); | 248 | X509_verify_cert_error_string(j)); |
| 249 | ret = 0; | 249 | ret = 0; |
| 250 | } else { | 250 | } else { |
| @@ -530,11 +530,11 @@ TS_check_status_info(TS_RESP *response) | |||
| 530 | 530 | ||
| 531 | /* Making up the error string. */ | 531 | /* Making up the error string. */ |
| 532 | TSerr(TS_F_TS_CHECK_STATUS_INFO, TS_R_NO_TIME_STAMP_TOKEN); | 532 | TSerr(TS_F_TS_CHECK_STATUS_INFO, TS_R_NO_TIME_STAMP_TOKEN); |
| 533 | ERR_add_error_data(6, | 533 | ERR_asprintf_error_data |
| 534 | "status code: ", status_text, | 534 | ("status code: %s, status text: %s, failure codes: %s", |
| 535 | ", status text: ", embedded_status_text ? | 535 | status_text, |
| 536 | embedded_status_text : "unspecified", | 536 | embedded_status_text ? embedded_status_text : "unspecified", |
| 537 | ", failure codes: ", failure_text); | 537 | failure_text); |
| 538 | free(embedded_status_text); | 538 | free(embedded_status_text); |
| 539 | 539 | ||
| 540 | return 0; | 540 | return 0; |
diff --git a/src/lib/libcrypto/ui/ui_lib.c b/src/lib/libcrypto/ui/ui_lib.c index ee76e5e64d..5335b59c48 100644 --- a/src/lib/libcrypto/ui/ui_lib.c +++ b/src/lib/libcrypto/ui/ui_lib.c | |||
| @@ -827,31 +827,26 @@ UI_set_result(UI *ui, UI_STRING *uis, const char *result) | |||
| 827 | switch (uis->type) { | 827 | switch (uis->type) { |
| 828 | case UIT_PROMPT: | 828 | case UIT_PROMPT: |
| 829 | case UIT_VERIFY: | 829 | case UIT_VERIFY: |
| 830 | { | 830 | if (l < uis->_.string_data.result_minsize) { |
| 831 | char number1[DECIMAL_SIZE(uis->_.string_data.result_minsize) + 1]; | 831 | ui->flags |= UI_FLAG_REDOABLE; |
| 832 | char number2[DECIMAL_SIZE(uis->_.string_data.result_maxsize) + 1]; | 832 | UIerr(UI_F_UI_SET_RESULT, |
| 833 | 833 | UI_R_RESULT_TOO_SMALL); | |
| 834 | (void) snprintf(number1, sizeof(number1), "%d", | 834 | ERR_asprintf_error_data |
| 835 | uis->_.string_data.result_minsize); | 835 | ("You must type in %d to %d characters", |
| 836 | (void) snprintf(number2, sizeof(number2), "%d", | 836 | uis->_.string_data.result_minsize, |
| 837 | uis->_.string_data.result_maxsize); | 837 | uis->_.string_data.result_maxsize); |
| 838 | 838 | return -1; | |
| 839 | if (l < uis->_.string_data.result_minsize) { | 839 | } |
| 840 | ui->flags |= UI_FLAG_REDOABLE; | 840 | if (l > uis->_.string_data.result_maxsize) { |
| 841 | UIerr(UI_F_UI_SET_RESULT, UI_R_RESULT_TOO_SMALL); | 841 | ui->flags |= UI_FLAG_REDOABLE; |
| 842 | ERR_add_error_data(5, "You must type in ", | 842 | UIerr(UI_F_UI_SET_RESULT, |
| 843 | number1, " to ", number2, " characters"); | 843 | UI_R_RESULT_TOO_LARGE); |
| 844 | return -1; | 844 | ERR_asprintf_error_data |
| 845 | } | 845 | ("You must type in %d to %d characters", |
| 846 | if (l > uis->_.string_data.result_maxsize) { | 846 | uis->_.string_data.result_minsize, |
| 847 | ui->flags |= UI_FLAG_REDOABLE; | 847 | uis->_.string_data.result_maxsize); |
| 848 | UIerr(UI_F_UI_SET_RESULT, UI_R_RESULT_TOO_LARGE); | 848 | return -1; |
| 849 | ERR_add_error_data(5, "You must type in ", | ||
| 850 | number1, " to ", number2, " characters"); | ||
| 851 | return -1; | ||
| 852 | } | ||
| 853 | } | 849 | } |
| 854 | |||
| 855 | if (!uis->result_buf) { | 850 | if (!uis->result_buf) { |
| 856 | UIerr(UI_F_UI_SET_RESULT, UI_R_NO_RESULT_BUFFER); | 851 | UIerr(UI_F_UI_SET_RESULT, UI_R_NO_RESULT_BUFFER); |
| 857 | return -1; | 852 | return -1; |
diff --git a/src/lib/libcrypto/x509/x509_att.c b/src/lib/libcrypto/x509/x509_att.c index 5699568998..ef922c7c83 100644 --- a/src/lib/libcrypto/x509/x509_att.c +++ b/src/lib/libcrypto/x509/x509_att.c | |||
| @@ -282,7 +282,7 @@ X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr, const char *atrname, | |||
| 282 | if (obj == NULL) { | 282 | if (obj == NULL) { |
| 283 | X509err(X509_F_X509_ATTRIBUTE_CREATE_BY_TXT, | 283 | X509err(X509_F_X509_ATTRIBUTE_CREATE_BY_TXT, |
| 284 | X509_R_INVALID_FIELD_NAME); | 284 | X509_R_INVALID_FIELD_NAME); |
| 285 | ERR_add_error_data(2, "name=", atrname); | 285 | ERR_asprintf_error_data("name=%s", atrname); |
| 286 | return (NULL); | 286 | return (NULL); |
| 287 | } | 287 | } |
| 288 | nattr = X509_ATTRIBUTE_create_by_OBJ(attr, obj, type, bytes, len); | 288 | nattr = X509_ATTRIBUTE_create_by_OBJ(attr, obj, type, bytes, len); |
diff --git a/src/lib/libcrypto/x509/x509name.c b/src/lib/libcrypto/x509/x509name.c index 3d90fd67fe..32fce2debb 100644 --- a/src/lib/libcrypto/x509/x509name.c +++ b/src/lib/libcrypto/x509/x509name.c | |||
| @@ -298,7 +298,7 @@ X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, | |||
| 298 | if (obj == NULL) { | 298 | if (obj == NULL) { |
| 299 | X509err(X509_F_X509_NAME_ENTRY_CREATE_BY_TXT, | 299 | X509err(X509_F_X509_NAME_ENTRY_CREATE_BY_TXT, |
| 300 | X509_R_INVALID_FIELD_NAME); | 300 | X509_R_INVALID_FIELD_NAME); |
| 301 | ERR_add_error_data(2, "name=", field); | 301 | ERR_asprintf_error_data("name=%s", field); |
| 302 | return (NULL); | 302 | return (NULL); |
| 303 | } | 303 | } |
| 304 | nentry = X509_NAME_ENTRY_create_by_OBJ(ne, obj, type, bytes, len); | 304 | nentry = X509_NAME_ENTRY_create_by_OBJ(ne, obj, type, bytes, len); |
diff --git a/src/lib/libcrypto/x509v3/v3_akey.c b/src/lib/libcrypto/x509v3/v3_akey.c index 6d5c576e23..a5d760d469 100644 --- a/src/lib/libcrypto/x509v3/v3_akey.c +++ b/src/lib/libcrypto/x509v3/v3_akey.c | |||
| @@ -139,7 +139,7 @@ v2i_AUTHORITY_KEYID(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, | |||
| 139 | } else { | 139 | } else { |
| 140 | X509V3err(X509V3_F_V2I_AUTHORITY_KEYID, | 140 | X509V3err(X509V3_F_V2I_AUTHORITY_KEYID, |
| 141 | X509V3_R_UNKNOWN_OPTION); | 141 | X509V3_R_UNKNOWN_OPTION); |
| 142 | ERR_add_error_data(2, "name=", cnf->name); | 142 | ERR_asprintf_error_data("name=%s", cnf->name); |
| 143 | return NULL; | 143 | return NULL; |
| 144 | } | 144 | } |
| 145 | } | 145 | } |
diff --git a/src/lib/libcrypto/x509v3/v3_alt.c b/src/lib/libcrypto/x509v3/v3_alt.c index e61ed673c0..61b0c90fad 100644 --- a/src/lib/libcrypto/x509v3/v3_alt.c +++ b/src/lib/libcrypto/x509v3/v3_alt.c | |||
| @@ -479,7 +479,7 @@ a2i_GENERAL_NAME(GENERAL_NAME *out, const X509V3_EXT_METHOD *method, | |||
| 479 | if (!(obj = OBJ_txt2obj(value, 0))) { | 479 | if (!(obj = OBJ_txt2obj(value, 0))) { |
| 480 | X509V3err(X509V3_F_A2I_GENERAL_NAME, | 480 | X509V3err(X509V3_F_A2I_GENERAL_NAME, |
| 481 | X509V3_R_BAD_OBJECT); | 481 | X509V3_R_BAD_OBJECT); |
| 482 | ERR_add_error_data(2, "value=", value); | 482 | ERR_asprintf_error_data("value=%s", value); |
| 483 | goto err; | 483 | goto err; |
| 484 | } | 484 | } |
| 485 | gen->d.rid = obj; | 485 | gen->d.rid = obj; |
| @@ -494,7 +494,7 @@ a2i_GENERAL_NAME(GENERAL_NAME *out, const X509V3_EXT_METHOD *method, | |||
| 494 | if (gen->d.ip == NULL) { | 494 | if (gen->d.ip == NULL) { |
| 495 | X509V3err(X509V3_F_A2I_GENERAL_NAME, | 495 | X509V3err(X509V3_F_A2I_GENERAL_NAME, |
| 496 | X509V3_R_BAD_IP_ADDRESS); | 496 | X509V3_R_BAD_IP_ADDRESS); |
| 497 | ERR_add_error_data(2, "value=", value); | 497 | ERR_asprintf_error_data("value=%s", value); |
| 498 | goto err; | 498 | goto err; |
| 499 | } | 499 | } |
| 500 | break; | 500 | break; |
| @@ -572,7 +572,7 @@ v2i_GENERAL_NAME_ex(GENERAL_NAME *out, const X509V3_EXT_METHOD *method, | |||
| 572 | else { | 572 | else { |
| 573 | X509V3err(X509V3_F_V2I_GENERAL_NAME_EX, | 573 | X509V3err(X509V3_F_V2I_GENERAL_NAME_EX, |
| 574 | X509V3_R_UNSUPPORTED_OPTION); | 574 | X509V3_R_UNSUPPORTED_OPTION); |
| 575 | ERR_add_error_data(2, "name=", name); | 575 | ERR_asprintf_error_data("name=%s", name); |
| 576 | return NULL; | 576 | return NULL; |
| 577 | } | 577 | } |
| 578 | 578 | ||
| @@ -620,7 +620,7 @@ do_dirname(GENERAL_NAME *gen, char *value, X509V3_CTX *ctx) | |||
| 620 | sk = X509V3_get_section(ctx, value); | 620 | sk = X509V3_get_section(ctx, value); |
| 621 | if (!sk) { | 621 | if (!sk) { |
| 622 | X509V3err(X509V3_F_DO_DIRNAME, X509V3_R_SECTION_NOT_FOUND); | 622 | X509V3err(X509V3_F_DO_DIRNAME, X509V3_R_SECTION_NOT_FOUND); |
| 623 | ERR_add_error_data(2, "section=", value); | 623 | ERR_asprintf_error_data("section=%s", value); |
| 624 | X509_NAME_free(nm); | 624 | X509_NAME_free(nm); |
| 625 | return 0; | 625 | return 0; |
| 626 | } | 626 | } |
diff --git a/src/lib/libcrypto/x509v3/v3_conf.c b/src/lib/libcrypto/x509v3/v3_conf.c index daacf8d5df..e22aa50fcd 100644 --- a/src/lib/libcrypto/x509v3/v3_conf.c +++ b/src/lib/libcrypto/x509v3/v3_conf.c | |||
| @@ -94,7 +94,7 @@ X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, char *name, char *value) | |||
| 94 | if (!ret) { | 94 | if (!ret) { |
| 95 | X509V3err(X509V3_F_X509V3_EXT_NCONF, | 95 | X509V3err(X509V3_F_X509V3_EXT_NCONF, |
| 96 | X509V3_R_ERROR_IN_EXTENSION); | 96 | X509V3_R_ERROR_IN_EXTENSION); |
| 97 | ERR_add_error_data(4, "name=", name, ", value=", value); | 97 | ERR_asprintf_error_data("name=%s, value=%s", name, value); |
| 98 | } | 98 | } |
| 99 | return ret; | 99 | return ret; |
| 100 | } | 100 | } |
| @@ -142,8 +142,8 @@ do_ext_nconf(CONF *conf, X509V3_CTX *ctx, int ext_nid, int crit, char *value) | |||
| 142 | if (sk_CONF_VALUE_num(nval) <= 0) { | 142 | if (sk_CONF_VALUE_num(nval) <= 0) { |
| 143 | X509V3err(X509V3_F_DO_EXT_NCONF, | 143 | X509V3err(X509V3_F_DO_EXT_NCONF, |
| 144 | X509V3_R_INVALID_EXTENSION_STRING); | 144 | X509V3_R_INVALID_EXTENSION_STRING); |
| 145 | ERR_add_error_data(4, "name=", OBJ_nid2sn(ext_nid), | 145 | ERR_asprintf_error_data("name=%s,section=%s", |
| 146 | ",section=", value); | 146 | OBJ_nid2sn(ext_nid), value); |
| 147 | return NULL; | 147 | return NULL; |
| 148 | } | 148 | } |
| 149 | ext_struc = method->v2i(method, ctx, nval); | 149 | ext_struc = method->v2i(method, ctx, nval); |
| @@ -165,7 +165,7 @@ do_ext_nconf(CONF *conf, X509V3_CTX *ctx, int ext_nid, int crit, char *value) | |||
| 165 | } else { | 165 | } else { |
| 166 | X509V3err(X509V3_F_DO_EXT_NCONF, | 166 | X509V3err(X509V3_F_DO_EXT_NCONF, |
| 167 | X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED); | 167 | X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED); |
| 168 | ERR_add_error_data(2, "name=", OBJ_nid2sn(ext_nid)); | 168 | ERR_asprintf_error_data("name=%s", OBJ_nid2sn(ext_nid)); |
| 169 | return NULL; | 169 | return NULL; |
| 170 | } | 170 | } |
| 171 | 171 | ||
| @@ -283,7 +283,7 @@ v3_generic_extension(const char *ext, char *value, int crit, int gen_type, | |||
| 283 | if (!(obj = OBJ_txt2obj(ext, 0))) { | 283 | if (!(obj = OBJ_txt2obj(ext, 0))) { |
| 284 | X509V3err(X509V3_F_V3_GENERIC_EXTENSION, | 284 | X509V3err(X509V3_F_V3_GENERIC_EXTENSION, |
| 285 | X509V3_R_EXTENSION_NAME_ERROR); | 285 | X509V3_R_EXTENSION_NAME_ERROR); |
| 286 | ERR_add_error_data(2, "name=", ext); | 286 | ERR_asprintf_error_data("name=%s", ext); |
| 287 | goto err; | 287 | goto err; |
| 288 | } | 288 | } |
| 289 | 289 | ||
| @@ -295,7 +295,7 @@ v3_generic_extension(const char *ext, char *value, int crit, int gen_type, | |||
| 295 | if (ext_der == NULL) { | 295 | if (ext_der == NULL) { |
| 296 | X509V3err(X509V3_F_V3_GENERIC_EXTENSION, | 296 | X509V3err(X509V3_F_V3_GENERIC_EXTENSION, |
| 297 | X509V3_R_EXTENSION_VALUE_ERROR); | 297 | X509V3_R_EXTENSION_VALUE_ERROR); |
| 298 | ERR_add_error_data(2, "value=", value); | 298 | ERR_asprintf_error_data("value=%s", value); |
| 299 | goto err; | 299 | goto err; |
| 300 | } | 300 | } |
| 301 | 301 | ||
diff --git a/src/lib/libcrypto/x509v3/v3_info.c b/src/lib/libcrypto/x509v3/v3_info.c index 7853e3e23b..9ae1596b1f 100644 --- a/src/lib/libcrypto/x509v3/v3_info.c +++ b/src/lib/libcrypto/x509v3/v3_info.c | |||
| @@ -184,12 +184,10 @@ v2i_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, | |||
| 184 | if (!acc->method) { | 184 | if (!acc->method) { |
| 185 | X509V3err(X509V3_F_V2I_AUTHORITY_INFO_ACCESS, | 185 | X509V3err(X509V3_F_V2I_AUTHORITY_INFO_ACCESS, |
| 186 | X509V3_R_BAD_OBJECT); | 186 | X509V3_R_BAD_OBJECT); |
| 187 | ERR_add_error_data(2, "value=", objtmp); | 187 | ERR_asprintf_error_data("value=%s", objtmp); |
| 188 | free(objtmp); | ||
| 189 | goto err; | 188 | goto err; |
| 190 | } | 189 | } |
| 191 | free(objtmp); | 190 | free(objtmp); |
| 192 | |||
| 193 | } | 191 | } |
| 194 | return ainfo; | 192 | return ainfo; |
| 195 | 193 | ||
diff --git a/src/lib/libcrypto/x509v3/x509v3.h b/src/lib/libcrypto/x509v3/x509v3.h index b308abe7cd..dda5344b33 100644 --- a/src/lib/libcrypto/x509v3/x509v3.h +++ b/src/lib/libcrypto/x509v3/x509v3.h | |||
| @@ -379,8 +379,9 @@ struct ISSUING_DIST_POINT_st | |||
| 379 | /* onlysomereasons present */ | 379 | /* onlysomereasons present */ |
| 380 | #define IDP_REASONS 0x40 | 380 | #define IDP_REASONS 0x40 |
| 381 | 381 | ||
| 382 | #define X509V3_conf_err(val) ERR_add_error_data(6, "section:", val->section, \ | 382 | #define X509V3_conf_err(val) ERR_asprintf_error_data( \ |
| 383 | ",name:", val->name, ",value:", val->value); | 383 | "section:%s,name:%s,value:%s", val->section, \ |
| 384 | val->name, val->value); | ||
| 384 | 385 | ||
| 385 | #define X509V3_set_ctx_test(ctx) \ | 386 | #define X509V3_set_ctx_test(ctx) \ |
| 386 | X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST) | 387 | X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST) |
diff --git a/src/lib/libssl/d1_pkt.c b/src/lib/libssl/d1_pkt.c index 7cfada4e6b..c5bdb41b90 100644 --- a/src/lib/libssl/d1_pkt.c +++ b/src/lib/libssl/d1_pkt.c | |||
| @@ -1109,13 +1109,11 @@ start: | |||
| 1109 | #endif | 1109 | #endif |
| 1110 | } else if (alert_level == 2) /* fatal */ | 1110 | } else if (alert_level == 2) /* fatal */ |
| 1111 | { | 1111 | { |
| 1112 | char tmp[16]; | ||
| 1113 | |||
| 1114 | s->rwstate = SSL_NOTHING; | 1112 | s->rwstate = SSL_NOTHING; |
| 1115 | s->s3->fatal_alert = alert_descr; | 1113 | s->s3->fatal_alert = alert_descr; |
| 1116 | SSLerr(SSL_F_DTLS1_READ_BYTES, SSL_AD_REASON_OFFSET + alert_descr); | 1114 | SSLerr(SSL_F_DTLS1_READ_BYTES, SSL_AD_REASON_OFFSET + alert_descr); |
| 1117 | (void) snprintf(tmp,sizeof tmp,"%d",alert_descr); | 1115 | ERR_asprintf_error_data("SSL alert number %d", |
| 1118 | ERR_add_error_data(2, "SSL alert number ", tmp); | 1116 | alert_descr); |
| 1119 | s->shutdown|=SSL_RECEIVED_SHUTDOWN; | 1117 | s->shutdown|=SSL_RECEIVED_SHUTDOWN; |
| 1120 | SSL_CTX_remove_session(s->ctx, s->session); | 1118 | SSL_CTX_remove_session(s->ctx, s->session); |
| 1121 | return (0); | 1119 | return (0); |
diff --git a/src/lib/libssl/s3_pkt.c b/src/lib/libssl/s3_pkt.c index 68c3f1cb2b..4a8462ecb9 100644 --- a/src/lib/libssl/s3_pkt.c +++ b/src/lib/libssl/s3_pkt.c | |||
| @@ -1169,13 +1169,11 @@ start: | |||
| 1169 | #endif | 1169 | #endif |
| 1170 | } else if (alert_level == 2) { | 1170 | } else if (alert_level == 2) { |
| 1171 | /* fatal */ | 1171 | /* fatal */ |
| 1172 | char tmp[16]; | ||
| 1173 | |||
| 1174 | s->rwstate = SSL_NOTHING; | 1172 | s->rwstate = SSL_NOTHING; |
| 1175 | s->s3->fatal_alert = alert_descr; | 1173 | s->s3->fatal_alert = alert_descr; |
| 1176 | SSLerr(SSL_F_SSL3_READ_BYTES, SSL_AD_REASON_OFFSET + alert_descr); | 1174 | SSLerr(SSL_F_SSL3_READ_BYTES, SSL_AD_REASON_OFFSET + alert_descr); |
| 1177 | (void) snprintf(tmp, sizeof tmp, "%d", alert_descr); | 1175 | ERR_asprintf_error_data("SSL alert number %d", |
| 1178 | ERR_add_error_data(2, "SSL alert number ", tmp); | 1176 | alert_descr); |
| 1179 | s->shutdown|=SSL_RECEIVED_SHUTDOWN; | 1177 | s->shutdown|=SSL_RECEIVED_SHUTDOWN; |
| 1180 | SSL_CTX_remove_session(s->ctx, s->session); | 1178 | SSL_CTX_remove_session(s->ctx, s->session); |
| 1181 | return (0); | 1179 | return (0); |
diff --git a/src/lib/libssl/src/crypto/asn1/a_mbstr.c b/src/lib/libssl/src/crypto/asn1/a_mbstr.c index b59d84910f..9945ede2ac 100644 --- a/src/lib/libssl/src/crypto/asn1/a_mbstr.c +++ b/src/lib/libssl/src/crypto/asn1/a_mbstr.c | |||
| @@ -98,7 +98,6 @@ ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, | |||
| 98 | ASN1_STRING *dest; | 98 | ASN1_STRING *dest; |
| 99 | unsigned char *p; | 99 | unsigned char *p; |
| 100 | int nchar; | 100 | int nchar; |
| 101 | char strbuf[32]; | ||
| 102 | int (*cpyfunc)(unsigned long, void *) = NULL; | 101 | int (*cpyfunc)(unsigned long, void *) = NULL; |
| 103 | 102 | ||
| 104 | if (len == -1) | 103 | if (len == -1) |
| @@ -148,15 +147,13 @@ ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, | |||
| 148 | 147 | ||
| 149 | if ((minsize > 0) && (nchar < minsize)) { | 148 | if ((minsize > 0) && (nchar < minsize)) { |
| 150 | ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, ASN1_R_STRING_TOO_SHORT); | 149 | ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, ASN1_R_STRING_TOO_SHORT); |
| 151 | snprintf(strbuf, sizeof strbuf, "%ld", minsize); | 150 | ERR_asprintf_error_data("minsize=%ld", minsize); |
| 152 | ERR_add_error_data(2, "minsize=", strbuf); | ||
| 153 | return -1; | 151 | return -1; |
| 154 | } | 152 | } |
| 155 | 153 | ||
| 156 | if ((maxsize > 0) && (nchar > maxsize)) { | 154 | if ((maxsize > 0) && (nchar > maxsize)) { |
| 157 | ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, ASN1_R_STRING_TOO_LONG); | 155 | ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, ASN1_R_STRING_TOO_LONG); |
| 158 | snprintf(strbuf, sizeof strbuf, "%ld", maxsize); | 156 | ERR_asprintf_error_data("maxsize=%ld", maxsize); |
| 159 | ERR_add_error_data(2, "maxsize=", strbuf); | ||
| 160 | return -1; | 157 | return -1; |
| 161 | } | 158 | } |
| 162 | 159 | ||
diff --git a/src/lib/libssl/src/crypto/asn1/asn1_gen.c b/src/lib/libssl/src/crypto/asn1/asn1_gen.c index c66bea2ab4..598a322242 100644 --- a/src/lib/libssl/src/crypto/asn1/asn1_gen.c +++ b/src/lib/libssl/src/crypto/asn1/asn1_gen.c | |||
| @@ -291,7 +291,7 @@ asn1_cb(const char *elem, int len, void *bitstr) | |||
| 291 | 291 | ||
| 292 | if (utype == -1) { | 292 | if (utype == -1) { |
| 293 | ASN1err(ASN1_F_ASN1_CB, ASN1_R_UNKNOWN_TAG); | 293 | ASN1err(ASN1_F_ASN1_CB, ASN1_R_UNKNOWN_TAG); |
| 294 | ERR_add_error_data(2, "tag=", elem); | 294 | ERR_asprintf_error_data("tag=%s", elem); |
| 295 | return -1; | 295 | return -1; |
| 296 | } | 296 | } |
| 297 | 297 | ||
| @@ -370,7 +370,6 @@ asn1_cb(const char *elem, int len, void *bitstr) | |||
| 370 | static int | 370 | static int |
| 371 | parse_tagging(const char *vstart, int vlen, int *ptag, int *pclass) | 371 | parse_tagging(const char *vstart, int vlen, int *ptag, int *pclass) |
| 372 | { | 372 | { |
| 373 | char erch[2]; | ||
| 374 | long tag_num; | 373 | long tag_num; |
| 375 | char *eptr; | 374 | char *eptr; |
| 376 | 375 | ||
| @@ -410,10 +409,8 @@ parse_tagging(const char *vstart, int vlen, int *ptag, int *pclass) | |||
| 410 | break; | 409 | break; |
| 411 | 410 | ||
| 412 | default: | 411 | default: |
| 413 | erch[0] = *eptr; | ||
| 414 | erch[1] = 0; | ||
| 415 | ASN1err(ASN1_F_PARSE_TAGGING, ASN1_R_INVALID_MODIFIER); | 412 | ASN1err(ASN1_F_PARSE_TAGGING, ASN1_R_INVALID_MODIFIER); |
| 416 | ERR_add_error_data(2, "Char=", erch); | 413 | ERR_asprintf_error_data("Char=%c", *eptr); |
| 417 | return 0; | 414 | return 0; |
| 418 | break; | 415 | break; |
| 419 | 416 | ||
| @@ -777,7 +774,7 @@ asn1_str2type(const char *str, int format, int utype) | |||
| 777 | return atmp; | 774 | return atmp; |
| 778 | 775 | ||
| 779 | bad_str: | 776 | bad_str: |
| 780 | ERR_add_error_data(2, "string=", str); | 777 | ERR_asprintf_error_data("string=%s", str); |
| 781 | bad_form: | 778 | bad_form: |
| 782 | ASN1_TYPE_free(atmp); | 779 | ASN1_TYPE_free(atmp); |
| 783 | return NULL; | 780 | return NULL; |
diff --git a/src/lib/libssl/src/crypto/asn1/asn1_lib.c b/src/lib/libssl/src/crypto/asn1/asn1_lib.c index 4d4368aefe..c2f0837a1c 100644 --- a/src/lib/libssl/src/crypto/asn1/asn1_lib.c +++ b/src/lib/libssl/src/crypto/asn1/asn1_lib.c | |||
| @@ -459,10 +459,7 @@ ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b) | |||
| 459 | void | 459 | void |
| 460 | asn1_add_error(const unsigned char *address, int offset) | 460 | asn1_add_error(const unsigned char *address, int offset) |
| 461 | { | 461 | { |
| 462 | char tmp[128]; | 462 | ERR_asprintf_error_data("address=%p offset=%d", address, offset); |
| 463 | (void) snprintf(tmp, sizeof(tmp), "address=%p offset=%d", | ||
| 464 | address, offset); | ||
| 465 | ERR_add_error_data(1, tmp); | ||
| 466 | } | 463 | } |
| 467 | 464 | ||
| 468 | int | 465 | int |
diff --git a/src/lib/libssl/src/crypto/asn1/asn_mime.c b/src/lib/libssl/src/crypto/asn1/asn_mime.c index 248ea114e8..b30c366561 100644 --- a/src/lib/libssl/src/crypto/asn1/asn_mime.c +++ b/src/lib/libssl/src/crypto/asn1/asn_mime.c | |||
| @@ -493,7 +493,7 @@ SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it) | |||
| 493 | strcmp(hdr->value, "application/pkcs7-signature")) { | 493 | strcmp(hdr->value, "application/pkcs7-signature")) { |
| 494 | ASN1err(ASN1_F_SMIME_READ_ASN1, | 494 | ASN1err(ASN1_F_SMIME_READ_ASN1, |
| 495 | ASN1_R_SIG_INVALID_MIME_TYPE); | 495 | ASN1_R_SIG_INVALID_MIME_TYPE); |
| 496 | ERR_add_error_data(2, "type: ", hdr->value); | 496 | ERR_asprintf_error_data("type: %s", hdr->value); |
| 497 | sk_MIME_HEADER_pop_free(headers, mime_hdr_free); | 497 | sk_MIME_HEADER_pop_free(headers, mime_hdr_free); |
| 498 | sk_BIO_pop_free(parts, BIO_vfree); | 498 | sk_BIO_pop_free(parts, BIO_vfree); |
| 499 | return NULL; | 499 | return NULL; |
| @@ -520,7 +520,7 @@ SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it) | |||
| 520 | if (strcmp (hdr->value, "application/x-pkcs7-mime") && | 520 | if (strcmp (hdr->value, "application/x-pkcs7-mime") && |
| 521 | strcmp (hdr->value, "application/pkcs7-mime")) { | 521 | strcmp (hdr->value, "application/pkcs7-mime")) { |
| 522 | ASN1err(ASN1_F_SMIME_READ_ASN1, ASN1_R_INVALID_MIME_TYPE); | 522 | ASN1err(ASN1_F_SMIME_READ_ASN1, ASN1_R_INVALID_MIME_TYPE); |
| 523 | ERR_add_error_data(2, "type: ", hdr->value); | 523 | ERR_asprintf_error_data("type: %s", hdr->value); |
| 524 | sk_MIME_HEADER_pop_free(headers, mime_hdr_free); | 524 | sk_MIME_HEADER_pop_free(headers, mime_hdr_free); |
| 525 | return NULL; | 525 | return NULL; |
| 526 | } | 526 | } |
| @@ -591,7 +591,7 @@ SMIME_text(BIO *in, BIO *out) | |||
| 591 | } | 591 | } |
| 592 | if (strcmp (hdr->value, "text/plain")) { | 592 | if (strcmp (hdr->value, "text/plain")) { |
| 593 | ASN1err(ASN1_F_SMIME_TEXT, ASN1_R_INVALID_MIME_TYPE); | 593 | ASN1err(ASN1_F_SMIME_TEXT, ASN1_R_INVALID_MIME_TYPE); |
| 594 | ERR_add_error_data(2, "type: ", hdr->value); | 594 | ERR_asprintf_error_data("type: %s", hdr->value); |
| 595 | sk_MIME_HEADER_pop_free(headers, mime_hdr_free); | 595 | sk_MIME_HEADER_pop_free(headers, mime_hdr_free); |
| 596 | return 0; | 596 | return 0; |
| 597 | } | 597 | } |
diff --git a/src/lib/libssl/src/crypto/asn1/tasn_dec.c b/src/lib/libssl/src/crypto/asn1/tasn_dec.c index 560b6f3d5f..d86bc4e091 100644 --- a/src/lib/libssl/src/crypto/asn1/tasn_dec.c +++ b/src/lib/libssl/src/crypto/asn1/tasn_dec.c | |||
| @@ -496,10 +496,10 @@ auxerr: | |||
| 496 | err: | 496 | err: |
| 497 | ASN1_item_ex_free(pval, it); | 497 | ASN1_item_ex_free(pval, it); |
| 498 | if (errtt) | 498 | if (errtt) |
| 499 | ERR_add_error_data(4, "Field=", errtt->field_name, | 499 | ERR_asprintf_error_data("Field=%s, Type=%s", errtt->field_name, |
| 500 | ", Type=", it->sname); | 500 | it->sname); |
| 501 | else | 501 | else |
| 502 | ERR_add_error_data(2, "Type=", it->sname); | 502 | ERR_asprintf_error_data("Type=%s", it->sname); |
| 503 | return 0; | 503 | return 0; |
| 504 | } | 504 | } |
| 505 | 505 | ||
diff --git a/src/lib/libssl/src/crypto/bio/b_sock.c b/src/lib/libssl/src/crypto/bio/b_sock.c index 05eb362cc6..ecfaf93b99 100644 --- a/src/lib/libssl/src/crypto/bio/b_sock.c +++ b/src/lib/libssl/src/crypto/bio/b_sock.c | |||
| @@ -129,7 +129,7 @@ err: | |||
| 129 | if (locked) | 129 | if (locked) |
| 130 | CRYPTO_w_unlock(CRYPTO_LOCK_GETHOSTBYNAME); | 130 | CRYPTO_w_unlock(CRYPTO_LOCK_GETHOSTBYNAME); |
| 131 | if (err) { | 131 | if (err) { |
| 132 | ERR_add_error_data(2, "host=", str); | 132 | ERR_asprintf_error_data("host=%s", str); |
| 133 | return 0; | 133 | return 0; |
| 134 | } else | 134 | } else |
| 135 | return 1; | 135 | return 1; |
| @@ -171,7 +171,7 @@ BIO_get_port(const char *str, unsigned short *port_ptr) | |||
| 171 | *port_ptr = 70; | 171 | *port_ptr = 70; |
| 172 | else { | 172 | else { |
| 173 | SYSerr(SYS_F_GETSERVBYNAME, errno); | 173 | SYSerr(SYS_F_GETSERVBYNAME, errno); |
| 174 | ERR_add_error_data(3, "service='", str, "'"); | 174 | ERR_asprintf_error_data("service='%s'", str); |
| 175 | return (0); | 175 | return (0); |
| 176 | } | 176 | } |
| 177 | } | 177 | } |
| @@ -378,7 +378,7 @@ again: | |||
| 378 | s = socket(server.sa.sa_family, SOCK_STREAM, SOCKET_PROTOCOL); | 378 | s = socket(server.sa.sa_family, SOCK_STREAM, SOCKET_PROTOCOL); |
| 379 | if (s == -1) { | 379 | if (s == -1) { |
| 380 | SYSerr(SYS_F_SOCKET, errno); | 380 | SYSerr(SYS_F_SOCKET, errno); |
| 381 | ERR_add_error_data(3, "port='", host, "'"); | 381 | ERR_asprintf_error_data("port='%s'", host); |
| 382 | BIOerr(BIO_F_BIO_GET_ACCEPT_SOCKET, BIO_R_UNABLE_TO_CREATE_SOCKET); | 382 | BIOerr(BIO_F_BIO_GET_ACCEPT_SOCKET, BIO_R_UNABLE_TO_CREATE_SOCKET); |
| 383 | goto err; | 383 | goto err; |
| 384 | } | 384 | } |
| @@ -422,13 +422,13 @@ again: | |||
| 422 | } | 422 | } |
| 423 | #endif | 423 | #endif |
| 424 | SYSerr(SYS_F_BIND, err_num); | 424 | SYSerr(SYS_F_BIND, err_num); |
| 425 | ERR_add_error_data(3, "port='", host, "'"); | 425 | ERR_asprintf_error_data("port='%s'", host); |
| 426 | BIOerr(BIO_F_BIO_GET_ACCEPT_SOCKET, BIO_R_UNABLE_TO_BIND_SOCKET); | 426 | BIOerr(BIO_F_BIO_GET_ACCEPT_SOCKET, BIO_R_UNABLE_TO_BIND_SOCKET); |
| 427 | goto err; | 427 | goto err; |
| 428 | } | 428 | } |
| 429 | if (listen(s, MAX_LISTEN) == -1) { | 429 | if (listen(s, MAX_LISTEN) == -1) { |
| 430 | SYSerr(SYS_F_BIND, errno); | 430 | SYSerr(SYS_F_BIND, errno); |
| 431 | ERR_add_error_data(3, "port='", host, "'"); | 431 | ERR_asprintf_error_data("port='%s'", host); |
| 432 | BIOerr(BIO_F_BIO_GET_ACCEPT_SOCKET, BIO_R_UNABLE_TO_LISTEN_SOCKET); | 432 | BIOerr(BIO_F_BIO_GET_ACCEPT_SOCKET, BIO_R_UNABLE_TO_LISTEN_SOCKET); |
| 433 | goto err; | 433 | goto err; |
| 434 | } | 434 | } |
diff --git a/src/lib/libssl/src/crypto/bio/bss_conn.c b/src/lib/libssl/src/crypto/bio/bss_conn.c index b64d7d7761..d7a8619b38 100644 --- a/src/lib/libssl/src/crypto/bio/bss_conn.c +++ b/src/lib/libssl/src/crypto/bio/bss_conn.c | |||
| @@ -156,7 +156,8 @@ conn_state(BIO *b, BIO_CONNECT *c) | |||
| 156 | 156 | ||
| 157 | if (c->param_port == NULL) { | 157 | if (c->param_port == NULL) { |
| 158 | BIOerr(BIO_F_CONN_STATE, BIO_R_NO_PORT_SPECIFIED); | 158 | BIOerr(BIO_F_CONN_STATE, BIO_R_NO_PORT_SPECIFIED); |
| 159 | ERR_add_error_data(2, "host=", c->param_hostname); | 159 | ERR_asprintf_error_data("host=%s", |
| 160 | c->param_hostname); | ||
| 160 | goto exit_loop; | 161 | goto exit_loop; |
| 161 | } | 162 | } |
| 162 | c->state = BIO_CONN_S_GET_IP; | 163 | c->state = BIO_CONN_S_GET_IP; |
| @@ -193,8 +194,8 @@ conn_state(BIO *b, BIO_CONNECT *c) | |||
| 193 | ret = socket(AF_INET, SOCK_STREAM, SOCKET_PROTOCOL); | 194 | ret = socket(AF_INET, SOCK_STREAM, SOCKET_PROTOCOL); |
| 194 | if (ret == -1) { | 195 | if (ret == -1) { |
| 195 | SYSerr(SYS_F_SOCKET, errno); | 196 | SYSerr(SYS_F_SOCKET, errno); |
| 196 | ERR_add_error_data(4, "host=", | 197 | ERR_asprintf_error_data("host=%s:%s", |
| 197 | c->param_hostname, ":", c->param_port); | 198 | c->param_hostname, c->param_port); |
| 198 | BIOerr(BIO_F_CONN_STATE, | 199 | BIOerr(BIO_F_CONN_STATE, |
| 199 | BIO_R_UNABLE_TO_CREATE_SOCKET); | 200 | BIO_R_UNABLE_TO_CREATE_SOCKET); |
| 200 | goto exit_loop; | 201 | goto exit_loop; |
| @@ -208,9 +209,8 @@ conn_state(BIO *b, BIO_CONNECT *c) | |||
| 208 | if (!BIO_socket_nbio(b->num, 1)) { | 209 | if (!BIO_socket_nbio(b->num, 1)) { |
| 209 | BIOerr(BIO_F_CONN_STATE, | 210 | BIOerr(BIO_F_CONN_STATE, |
| 210 | BIO_R_ERROR_SETTING_NBIO); | 211 | BIO_R_ERROR_SETTING_NBIO); |
| 211 | ERR_add_error_data(4, "host=", | 212 | ERR_asprintf_error_data("host=%s:%s", |
| 212 | c->param_hostname, ":", | 213 | c->param_hostname, c->param_port); |
| 213 | c->param_port); | ||
| 214 | goto exit_loop; | 214 | goto exit_loop; |
| 215 | } | 215 | } |
| 216 | } | 216 | } |
| @@ -221,8 +221,8 @@ conn_state(BIO *b, BIO_CONNECT *c) | |||
| 221 | i = setsockopt(b->num, SOL_SOCKET, SO_KEEPALIVE,(char *)&i, sizeof(i)); | 221 | i = setsockopt(b->num, SOL_SOCKET, SO_KEEPALIVE,(char *)&i, sizeof(i)); |
| 222 | if (i < 0) { | 222 | if (i < 0) { |
| 223 | SYSerr(SYS_F_SOCKET, errno); | 223 | SYSerr(SYS_F_SOCKET, errno); |
| 224 | ERR_add_error_data(4, "host=", | 224 | ERR_asprintf_error_data("host=%s:%s", |
| 225 | c->param_hostname, ":", c->param_port); | 225 | c->param_hostname, c->param_port); |
| 226 | BIOerr(BIO_F_CONN_STATE, BIO_R_KEEPALIVE); | 226 | BIOerr(BIO_F_CONN_STATE, BIO_R_KEEPALIVE); |
| 227 | goto exit_loop; | 227 | goto exit_loop; |
| 228 | } | 228 | } |
| @@ -242,9 +242,8 @@ conn_state(BIO *b, BIO_CONNECT *c) | |||
| 242 | b->retry_reason = BIO_RR_CONNECT; | 242 | b->retry_reason = BIO_RR_CONNECT; |
| 243 | } else { | 243 | } else { |
| 244 | SYSerr(SYS_F_CONNECT, errno); | 244 | SYSerr(SYS_F_CONNECT, errno); |
| 245 | ERR_add_error_data(4, "host=", | 245 | ERR_asprintf_error_data("host=%s:%s", |
| 246 | c->param_hostname, ":", | 246 | c->param_hostname, c->param_port); |
| 247 | c->param_port); | ||
| 248 | BIOerr(BIO_F_CONN_STATE, | 247 | BIOerr(BIO_F_CONN_STATE, |
| 249 | BIO_R_CONNECT_ERROR); | 248 | BIO_R_CONNECT_ERROR); |
| 250 | } | 249 | } |
| @@ -258,8 +257,8 @@ conn_state(BIO *b, BIO_CONNECT *c) | |||
| 258 | if (i) { | 257 | if (i) { |
| 259 | BIO_clear_retry_flags(b); | 258 | BIO_clear_retry_flags(b); |
| 260 | SYSerr(SYS_F_CONNECT, i); | 259 | SYSerr(SYS_F_CONNECT, i); |
| 261 | ERR_add_error_data(4, "host=", | 260 | ERR_asprintf_error_data("host=%s:%s", |
| 262 | c->param_hostname, ":", c->param_port); | 261 | c->param_hostname, c->param_port); |
| 263 | BIOerr(BIO_F_CONN_STATE, | 262 | BIOerr(BIO_F_CONN_STATE, |
| 264 | BIO_R_NBIO_CONNECT_ERROR); | 263 | BIO_R_NBIO_CONNECT_ERROR); |
| 265 | ret = 0; | 264 | ret = 0; |
diff --git a/src/lib/libssl/src/crypto/bio/bss_file.c b/src/lib/libssl/src/crypto/bio/bss_file.c index acc746260e..6d5444f666 100644 --- a/src/lib/libssl/src/crypto/bio/bss_file.c +++ b/src/lib/libssl/src/crypto/bio/bss_file.c | |||
| @@ -122,7 +122,7 @@ BIO_new_file(const char *filename, const char *mode) | |||
| 122 | 122 | ||
| 123 | if (file == NULL) { | 123 | if (file == NULL) { |
| 124 | SYSerr(SYS_F_FOPEN, errno); | 124 | SYSerr(SYS_F_FOPEN, errno); |
| 125 | ERR_add_error_data(5, "fopen('", filename, "', '", mode, "')"); | 125 | ERR_asprintf_error_data("fopen('%s', '%s')", filename, mode); |
| 126 | if (errno == ENOENT) | 126 | if (errno == ENOENT) |
| 127 | BIOerr(BIO_F_BIO_NEW_FILE, BIO_R_NO_SUCH_FILE); | 127 | BIOerr(BIO_F_BIO_NEW_FILE, BIO_R_NO_SUCH_FILE); |
| 128 | else | 128 | else |
| @@ -262,7 +262,7 @@ file_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
| 262 | fp = fopen(ptr, p); | 262 | fp = fopen(ptr, p); |
| 263 | if (fp == NULL) { | 263 | if (fp == NULL) { |
| 264 | SYSerr(SYS_F_FOPEN, errno); | 264 | SYSerr(SYS_F_FOPEN, errno); |
| 265 | ERR_add_error_data(5, "fopen('", ptr, "', '", p, "')"); | 265 | ERR_asprintf_error_data("fopen('%s', '%s')", ptr, p); |
| 266 | BIOerr(BIO_F_FILE_CTRL, ERR_R_SYS_LIB); | 266 | BIOerr(BIO_F_FILE_CTRL, ERR_R_SYS_LIB); |
| 267 | ret = 0; | 267 | ret = 0; |
| 268 | break; | 268 | break; |
diff --git a/src/lib/libssl/src/crypto/cms/cms_smime.c b/src/lib/libssl/src/crypto/cms/cms_smime.c index 8c56e3a852..eed50cd6a3 100644 --- a/src/lib/libssl/src/crypto/cms/cms_smime.c +++ b/src/lib/libssl/src/crypto/cms/cms_smime.c | |||
| @@ -302,7 +302,7 @@ static int cms_signerinfo_verify_cert(CMS_SignerInfo *si, | |||
| 302 | j = X509_STORE_CTX_get_error(&ctx); | 302 | j = X509_STORE_CTX_get_error(&ctx); |
| 303 | CMSerr(CMS_F_CMS_SIGNERINFO_VERIFY_CERT, | 303 | CMSerr(CMS_F_CMS_SIGNERINFO_VERIFY_CERT, |
| 304 | CMS_R_CERTIFICATE_VERIFY_ERROR); | 304 | CMS_R_CERTIFICATE_VERIFY_ERROR); |
| 305 | ERR_add_error_data(2, "Verify error:", | 305 | ERR_asprintf_error_data("Verify error:%s", |
| 306 | X509_verify_cert_error_string(j)); | 306 | X509_verify_cert_error_string(j)); |
| 307 | goto err; | 307 | goto err; |
| 308 | } | 308 | } |
diff --git a/src/lib/libssl/src/crypto/comp/c_zlib.c b/src/lib/libssl/src/crypto/comp/c_zlib.c index aaf89429b6..3a73b3df0b 100644 --- a/src/lib/libssl/src/crypto/comp/c_zlib.c +++ b/src/lib/libssl/src/crypto/comp/c_zlib.c | |||
| @@ -551,7 +551,7 @@ bio_zlib_read(BIO *b, char *out, int outl) | |||
| 551 | if ((ret != Z_OK) && (ret != Z_STREAM_END)) { | 551 | if ((ret != Z_OK) && (ret != Z_STREAM_END)) { |
| 552 | COMPerr(COMP_F_BIO_ZLIB_READ, | 552 | COMPerr(COMP_F_BIO_ZLIB_READ, |
| 553 | COMP_R_ZLIB_INFLATE_ERROR); | 553 | COMP_R_ZLIB_INFLATE_ERROR); |
| 554 | ERR_add_error_data(2, "zlib error:", | 554 | ERR_asprintf_error_data("zlib error:%s", |
| 555 | zError(ret)); | 555 | zError(ret)); |
| 556 | return 0; | 556 | return 0; |
| 557 | } | 557 | } |
| @@ -638,7 +638,7 @@ bio_zlib_write(BIO *b, const char *in, int inl) | |||
| 638 | if (ret != Z_OK) { | 638 | if (ret != Z_OK) { |
| 639 | COMPerr(COMP_F_BIO_ZLIB_WRITE, | 639 | COMPerr(COMP_F_BIO_ZLIB_WRITE, |
| 640 | COMP_R_ZLIB_DEFLATE_ERROR); | 640 | COMP_R_ZLIB_DEFLATE_ERROR); |
| 641 | ERR_add_error_data(2, "zlib error:", zError(ret)); | 641 | ERR_asprintf_error_data("zlib error:%s", zError(ret)); |
| 642 | return 0; | 642 | return 0; |
| 643 | } | 643 | } |
| 644 | ctx->ocount = ctx->obufsize - zout->avail_out; | 644 | ctx->ocount = ctx->obufsize - zout->avail_out; |
| @@ -688,7 +688,7 @@ bio_zlib_flush(BIO *b) | |||
| 688 | else if (ret != Z_OK) { | 688 | else if (ret != Z_OK) { |
| 689 | COMPerr(COMP_F_BIO_ZLIB_FLUSH, | 689 | COMPerr(COMP_F_BIO_ZLIB_FLUSH, |
| 690 | COMP_R_ZLIB_DEFLATE_ERROR); | 690 | COMP_R_ZLIB_DEFLATE_ERROR); |
| 691 | ERR_add_error_data(2, "zlib error:", zError(ret)); | 691 | ERR_asprintf_error_data("zlib error:%s", zError(ret)); |
| 692 | return 0; | 692 | return 0; |
| 693 | } | 693 | } |
| 694 | ctx->ocount = ctx->obufsize - zout->avail_out; | 694 | ctx->ocount = ctx->obufsize - zout->avail_out; |
diff --git a/src/lib/libssl/src/crypto/conf/conf_def.c b/src/lib/libssl/src/crypto/conf/conf_def.c index 22fe7a8f60..bc9f139e7e 100644 --- a/src/lib/libssl/src/crypto/conf/conf_def.c +++ b/src/lib/libssl/src/crypto/conf/conf_def.c | |||
| @@ -218,7 +218,6 @@ def_load_bio(CONF *conf, BIO *in, long *line) | |||
| 218 | char *s, *p, *end; | 218 | char *s, *p, *end; |
| 219 | int again; | 219 | int again; |
| 220 | long eline = 0; | 220 | long eline = 0; |
| 221 | char btmp[DECIMAL_SIZE(eline) + 1]; | ||
| 222 | CONF_VALUE *v = NULL, *tv; | 221 | CONF_VALUE *v = NULL, *tv; |
| 223 | CONF_VALUE *sv = NULL; | 222 | CONF_VALUE *sv = NULL; |
| 224 | char *section = NULL, *buf; | 223 | char *section = NULL, *buf; |
| @@ -428,8 +427,7 @@ err: | |||
| 428 | free(section); | 427 | free(section); |
| 429 | if (line != NULL) | 428 | if (line != NULL) |
| 430 | *line = eline; | 429 | *line = eline; |
| 431 | snprintf(btmp, sizeof btmp, "%ld", eline); | 430 | ERR_asprintf_error_data("line %ld", eline); |
| 432 | ERR_add_error_data(2, "line ", btmp); | ||
| 433 | if ((h != conf->data) && (conf->data != NULL)) { | 431 | if ((h != conf->data) && (conf->data != NULL)) { |
| 434 | CONF_free(conf->data); | 432 | CONF_free(conf->data); |
| 435 | conf->data = NULL; | 433 | conf->data = NULL; |
diff --git a/src/lib/libssl/src/crypto/conf/conf_lib.c b/src/lib/libssl/src/crypto/conf/conf_lib.c index 469af6e825..35bdda3d64 100644 --- a/src/lib/libssl/src/crypto/conf/conf_lib.c +++ b/src/lib/libssl/src/crypto/conf/conf_lib.c | |||
| @@ -329,7 +329,7 @@ NCONF_get_string(const CONF *conf, const char *group, const char *name) | |||
| 329 | return NULL; | 329 | return NULL; |
| 330 | } | 330 | } |
| 331 | CONFerr(CONF_F_NCONF_GET_STRING, CONF_R_NO_VALUE); | 331 | CONFerr(CONF_F_NCONF_GET_STRING, CONF_R_NO_VALUE); |
| 332 | ERR_add_error_data(4, "group=", group, " name=", name); | 332 | ERR_asprintf_error_data("group=%s name=%s", group, name); |
| 333 | return NULL; | 333 | return NULL; |
| 334 | } | 334 | } |
| 335 | 335 | ||
diff --git a/src/lib/libssl/src/crypto/conf/conf_mod.c b/src/lib/libssl/src/crypto/conf/conf_mod.c index 80266e43d8..b574104791 100644 --- a/src/lib/libssl/src/crypto/conf/conf_mod.c +++ b/src/lib/libssl/src/crypto/conf/conf_mod.c | |||
| @@ -211,7 +211,7 @@ module_run(const CONF *cnf, char *name, char *value, unsigned long flags) | |||
| 211 | if (!md) { | 211 | if (!md) { |
| 212 | if (!(flags & CONF_MFLAGS_SILENT)) { | 212 | if (!(flags & CONF_MFLAGS_SILENT)) { |
| 213 | CONFerr(CONF_F_MODULE_RUN, CONF_R_UNKNOWN_MODULE_NAME); | 213 | CONFerr(CONF_F_MODULE_RUN, CONF_R_UNKNOWN_MODULE_NAME); |
| 214 | ERR_add_error_data(2, "module=", name); | 214 | ERR_asprintf_error_data("module=%s", name); |
| 215 | } | 215 | } |
| 216 | return -1; | 216 | return -1; |
| 217 | } | 217 | } |
| @@ -220,12 +220,11 @@ module_run(const CONF *cnf, char *name, char *value, unsigned long flags) | |||
| 220 | 220 | ||
| 221 | if (ret <= 0) { | 221 | if (ret <= 0) { |
| 222 | if (!(flags & CONF_MFLAGS_SILENT)) { | 222 | if (!(flags & CONF_MFLAGS_SILENT)) { |
| 223 | char rcode[DECIMAL_SIZE(ret) + 1]; | ||
| 224 | CONFerr(CONF_F_MODULE_RUN, | 223 | CONFerr(CONF_F_MODULE_RUN, |
| 225 | CONF_R_MODULE_INITIALIZATION_ERROR); | 224 | CONF_R_MODULE_INITIALIZATION_ERROR); |
| 226 | snprintf(rcode, sizeof rcode, "%-8d", ret); | 225 | ERR_asprintf_error_data |
| 227 | ERR_add_error_data(6, "module=", name, ", value=", | 226 | ("module=%s, value=%s, retcode=%-8d", |
| 228 | value, ", retcode=", rcode); | 227 | name, value, ret); |
| 229 | } | 228 | } |
| 230 | } | 229 | } |
| 231 | 230 | ||
| @@ -272,7 +271,7 @@ err: | |||
| 272 | if (dso) | 271 | if (dso) |
| 273 | DSO_free(dso); | 272 | DSO_free(dso); |
| 274 | CONFerr(CONF_F_MODULE_LOAD_DSO, errcode); | 273 | CONFerr(CONF_F_MODULE_LOAD_DSO, errcode); |
| 275 | ERR_add_error_data(4, "module=", name, ", path=", path); | 274 | ERR_asprintf_error_data("module=%s, path=%s", name, path); |
| 276 | return NULL; | 275 | return NULL; |
| 277 | } | 276 | } |
| 278 | 277 | ||
diff --git a/src/lib/libssl/src/crypto/dso/dso_dlfcn.c b/src/lib/libssl/src/crypto/dso/dso_dlfcn.c index ea4e4935aa..6cf9ab2667 100644 --- a/src/lib/libssl/src/crypto/dso/dso_dlfcn.c +++ b/src/lib/libssl/src/crypto/dso/dso_dlfcn.c | |||
| @@ -140,7 +140,8 @@ dlfcn_load(DSO *dso) | |||
| 140 | ptr = dlopen(filename, flags); | 140 | ptr = dlopen(filename, flags); |
| 141 | if (ptr == NULL) { | 141 | if (ptr == NULL) { |
| 142 | DSOerr(DSO_F_DLFCN_LOAD, DSO_R_LOAD_FAILED); | 142 | DSOerr(DSO_F_DLFCN_LOAD, DSO_R_LOAD_FAILED); |
| 143 | ERR_add_error_data(4, "filename(", filename, "): ", dlerror()); | 143 | ERR_asprintf_error_data("filename(%s): %s", filename, |
| 144 | dlerror()); | ||
| 144 | goto err; | 145 | goto err; |
| 145 | } | 146 | } |
| 146 | if (!sk_void_push(dso->meth_data, (char *)ptr)) { | 147 | if (!sk_void_push(dso->meth_data, (char *)ptr)) { |
| @@ -204,7 +205,7 @@ dlfcn_bind_var(DSO *dso, const char *symname) | |||
| 204 | sym = dlsym(ptr, symname); | 205 | sym = dlsym(ptr, symname); |
| 205 | if (sym == NULL) { | 206 | if (sym == NULL) { |
| 206 | DSOerr(DSO_F_DLFCN_BIND_VAR, DSO_R_SYM_FAILURE); | 207 | DSOerr(DSO_F_DLFCN_BIND_VAR, DSO_R_SYM_FAILURE); |
| 207 | ERR_add_error_data(4, "symname(", symname, "): ", dlerror()); | 208 | ERR_asprintf_error_data("symname(%s): %s", symname, dlerror()); |
| 208 | return (NULL); | 209 | return (NULL); |
| 209 | } | 210 | } |
| 210 | return (sym); | 211 | return (sym); |
| @@ -235,7 +236,7 @@ dlfcn_bind_func(DSO *dso, const char *symname) | |||
| 235 | u.dlret = dlsym(ptr, symname); | 236 | u.dlret = dlsym(ptr, symname); |
| 236 | if (u.dlret == NULL) { | 237 | if (u.dlret == NULL) { |
| 237 | DSOerr(DSO_F_DLFCN_BIND_FUNC, DSO_R_SYM_FAILURE); | 238 | DSOerr(DSO_F_DLFCN_BIND_FUNC, DSO_R_SYM_FAILURE); |
| 238 | ERR_add_error_data(4, "symname(", symname, "): ", dlerror()); | 239 | ERR_asprintf_error_data("symname(%s): %s", symname, dlerror()); |
| 239 | return (NULL); | 240 | return (NULL); |
| 240 | } | 241 | } |
| 241 | return u.sym; | 242 | return u.sym; |
| @@ -348,7 +349,7 @@ dlfcn_pathbyaddr(void *addr, char *path, int sz) | |||
| 348 | return len; | 349 | return len; |
| 349 | } | 350 | } |
| 350 | 351 | ||
| 351 | ERR_add_error_data(4, "dlfcn_pathbyaddr(): ", dlerror()); | 352 | ERR_asprintf_error_data("dlfcn_pathbyaddr(): %s", dlerror()); |
| 352 | return -1; | 353 | return -1; |
| 353 | } | 354 | } |
| 354 | 355 | ||
diff --git a/src/lib/libssl/src/crypto/engine/eng_cnf.c b/src/lib/libssl/src/crypto/engine/eng_cnf.c index 95c4070015..afb704e93b 100644 --- a/src/lib/libssl/src/crypto/engine/eng_cnf.c +++ b/src/lib/libssl/src/crypto/engine/eng_cnf.c | |||
| @@ -203,9 +203,9 @@ static int int_engine_configure(char *name, char *value, const CONF *cnf) | |||
| 203 | { | 203 | { |
| 204 | ENGINEerr(ENGINE_F_INT_ENGINE_CONFIGURE, ENGINE_R_ENGINE_CONFIGURATION_ERROR); | 204 | ENGINEerr(ENGINE_F_INT_ENGINE_CONFIGURE, ENGINE_R_ENGINE_CONFIGURATION_ERROR); |
| 205 | if (ecmd) | 205 | if (ecmd) |
| 206 | ERR_add_error_data(6, "section=", ecmd->section, | 206 | ERR_asprintf_error_data |
| 207 | ", name=", ecmd->name, | 207 | ("section=%s, name=%s, value=%s", |
| 208 | ", value=", ecmd->value); | 208 | ecmd->section, ecmd->name, ecmd->value); |
| 209 | } | 209 | } |
| 210 | if (e) | 210 | if (e) |
| 211 | ENGINE_free(e); | 211 | ENGINE_free(e); |
diff --git a/src/lib/libssl/src/crypto/engine/eng_fat.c b/src/lib/libssl/src/crypto/engine/eng_fat.c index 789b8d57e5..e01067566e 100644 --- a/src/lib/libssl/src/crypto/engine/eng_fat.c +++ b/src/lib/libssl/src/crypto/engine/eng_fat.c | |||
| @@ -141,7 +141,7 @@ int ENGINE_set_default_string(ENGINE *e, const char *def_list) | |||
| 141 | { | 141 | { |
| 142 | ENGINEerr(ENGINE_F_ENGINE_SET_DEFAULT_STRING, | 142 | ENGINEerr(ENGINE_F_ENGINE_SET_DEFAULT_STRING, |
| 143 | ENGINE_R_INVALID_STRING); | 143 | ENGINE_R_INVALID_STRING); |
| 144 | ERR_add_error_data(2, "str=",def_list); | 144 | ERR_asprintf_error_data("str=%s",def_list); |
| 145 | return 0; | 145 | return 0; |
| 146 | } | 146 | } |
| 147 | return ENGINE_set_default(e, flags); | 147 | return ENGINE_set_default(e, flags); |
diff --git a/src/lib/libssl/src/crypto/engine/eng_list.c b/src/lib/libssl/src/crypto/engine/eng_list.c index 95c858960b..5528b5478f 100644 --- a/src/lib/libssl/src/crypto/engine/eng_list.c +++ b/src/lib/libssl/src/crypto/engine/eng_list.c | |||
| @@ -389,7 +389,7 @@ ENGINE *ENGINE_by_id(const char *id) | |||
| 389 | { | 389 | { |
| 390 | ENGINEerr(ENGINE_F_ENGINE_BY_ID, | 390 | ENGINEerr(ENGINE_F_ENGINE_BY_ID, |
| 391 | ENGINE_R_NO_SUCH_ENGINE); | 391 | ENGINE_R_NO_SUCH_ENGINE); |
| 392 | ERR_add_error_data(2, "id=", id); | 392 | ERR_asprintf_error_data("id=%s", id); |
| 393 | } | 393 | } |
| 394 | return iterator; | 394 | return iterator; |
| 395 | #else | 395 | #else |
| @@ -416,7 +416,7 @@ ENGINE *ENGINE_by_id(const char *id) | |||
| 416 | notfound: | 416 | notfound: |
| 417 | ENGINE_free(iterator); | 417 | ENGINE_free(iterator); |
| 418 | ENGINEerr(ENGINE_F_ENGINE_BY_ID,ENGINE_R_NO_SUCH_ENGINE); | 418 | ENGINEerr(ENGINE_F_ENGINE_BY_ID,ENGINE_R_NO_SUCH_ENGINE); |
| 419 | ERR_add_error_data(2, "id=", id); | 419 | ERR_asprintf_error_data("id=%s", id); |
| 420 | return NULL; | 420 | return NULL; |
| 421 | /* EEK! Experimental code ends */ | 421 | /* EEK! Experimental code ends */ |
| 422 | #endif | 422 | #endif |
diff --git a/src/lib/libssl/src/crypto/evp/evp_pbe.c b/src/lib/libssl/src/crypto/evp/evp_pbe.c index 37a926c3fc..37683af76a 100644 --- a/src/lib/libssl/src/crypto/evp/evp_pbe.c +++ b/src/lib/libssl/src/crypto/evp/evp_pbe.c | |||
| @@ -167,7 +167,7 @@ int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen, | |||
| 167 | EVPerr(EVP_F_EVP_PBE_CIPHERINIT,EVP_R_UNKNOWN_PBE_ALGORITHM); | 167 | EVPerr(EVP_F_EVP_PBE_CIPHERINIT,EVP_R_UNKNOWN_PBE_ALGORITHM); |
| 168 | if (!pbe_obj) strlcpy (obj_tmp, "NULL", sizeof obj_tmp); | 168 | if (!pbe_obj) strlcpy (obj_tmp, "NULL", sizeof obj_tmp); |
| 169 | else i2t_ASN1_OBJECT(obj_tmp, sizeof obj_tmp, pbe_obj); | 169 | else i2t_ASN1_OBJECT(obj_tmp, sizeof obj_tmp, pbe_obj); |
| 170 | ERR_add_error_data(2, "TYPE=", obj_tmp); | 170 | ERR_asprintf_error_data("TYPE=%s", obj_tmp); |
| 171 | return 0; | 171 | return 0; |
| 172 | } | 172 | } |
| 173 | 173 | ||
diff --git a/src/lib/libssl/src/crypto/evp/evp_pkey.c b/src/lib/libssl/src/crypto/evp/evp_pkey.c index c760cf1965..94056f0da9 100644 --- a/src/lib/libssl/src/crypto/evp/evp_pkey.c +++ b/src/lib/libssl/src/crypto/evp/evp_pkey.c | |||
| @@ -83,7 +83,7 @@ EVP_PKEY *EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8) | |||
| 83 | { | 83 | { |
| 84 | EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM); | 84 | EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM); |
| 85 | i2t_ASN1_OBJECT(obj_tmp, 80, algoid); | 85 | i2t_ASN1_OBJECT(obj_tmp, 80, algoid); |
| 86 | ERR_add_error_data(2, "TYPE=", obj_tmp); | 86 | ERR_asprintf_error_data("TYPE=%s", obj_tmp); |
| 87 | goto error; | 87 | goto error; |
| 88 | } | 88 | } |
| 89 | 89 | ||
diff --git a/src/lib/libssl/src/crypto/ocsp/ocsp_ht.c b/src/lib/libssl/src/crypto/ocsp/ocsp_ht.c index 4bb6fce83c..b45eaf6767 100644 --- a/src/lib/libssl/src/crypto/ocsp/ocsp_ht.c +++ b/src/lib/libssl/src/crypto/ocsp/ocsp_ht.c | |||
| @@ -259,9 +259,9 @@ static int parse_http_line1(char *line) | |||
| 259 | { | 259 | { |
| 260 | OCSPerr(OCSP_F_PARSE_HTTP_LINE1, OCSP_R_SERVER_RESPONSE_ERROR); | 260 | OCSPerr(OCSP_F_PARSE_HTTP_LINE1, OCSP_R_SERVER_RESPONSE_ERROR); |
| 261 | if(!*q) | 261 | if(!*q) |
| 262 | ERR_add_error_data(2, "Code=", p); | 262 | ERR_asprintf_error_data("Code=%s", p); |
| 263 | else | 263 | else |
| 264 | ERR_add_error_data(4, "Code=", p, ",Reason=", q); | 264 | ERR_asprintf_error_data("Code=%s,Reason=%s", p, q); |
| 265 | return 0; | 265 | return 0; |
| 266 | } | 266 | } |
| 267 | 267 | ||
diff --git a/src/lib/libssl/src/crypto/ocsp/ocsp_vfy.c b/src/lib/libssl/src/crypto/ocsp/ocsp_vfy.c index 276718304d..0b181d5abe 100644 --- a/src/lib/libssl/src/crypto/ocsp/ocsp_vfy.c +++ b/src/lib/libssl/src/crypto/ocsp/ocsp_vfy.c | |||
| @@ -122,9 +122,9 @@ int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, | |||
| 122 | X509_STORE_CTX_cleanup(&ctx); | 122 | X509_STORE_CTX_cleanup(&ctx); |
| 123 | if (ret <= 0) | 123 | if (ret <= 0) |
| 124 | { | 124 | { |
| 125 | i = X509_STORE_CTX_get_error(&ctx); | 125 | i = X509_STORE_CTX_get_error(&ctx); |
| 126 | OCSPerr(OCSP_F_OCSP_BASIC_VERIFY,OCSP_R_CERTIFICATE_VERIFY_ERROR); | 126 | OCSPerr(OCSP_F_OCSP_BASIC_VERIFY,OCSP_R_CERTIFICATE_VERIFY_ERROR); |
| 127 | ERR_add_error_data(2, "Verify error:", | 127 | ERR_asprintf_error_data("Verify error:%s", |
| 128 | X509_verify_cert_error_string(i)); | 128 | X509_verify_cert_error_string(i)); |
| 129 | goto end; | 129 | goto end; |
| 130 | } | 130 | } |
| @@ -421,7 +421,7 @@ int OCSP_request_verify(OCSP_REQUEST *req, STACK_OF(X509) *certs, X509_STORE *st | |||
| 421 | { | 421 | { |
| 422 | ret = X509_STORE_CTX_get_error(&ctx); | 422 | ret = X509_STORE_CTX_get_error(&ctx); |
| 423 | OCSPerr(OCSP_F_OCSP_REQUEST_VERIFY,OCSP_R_CERTIFICATE_VERIFY_ERROR); | 423 | OCSPerr(OCSP_F_OCSP_REQUEST_VERIFY,OCSP_R_CERTIFICATE_VERIFY_ERROR); |
| 424 | ERR_add_error_data(2, "Verify error:", | 424 | ERR_asprintf_error_data("Verify error:%s", |
| 425 | X509_verify_cert_error_string(ret)); | 425 | X509_verify_cert_error_string(ret)); |
| 426 | return 0; | 426 | return 0; |
| 427 | } | 427 | } |
diff --git a/src/lib/libssl/src/crypto/pem/pem_lib.c b/src/lib/libssl/src/crypto/pem/pem_lib.c index c670ac2acb..9bc2b27285 100644 --- a/src/lib/libssl/src/crypto/pem/pem_lib.c +++ b/src/lib/libssl/src/crypto/pem/pem_lib.c | |||
| @@ -289,7 +289,7 @@ PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm, | |||
| 289 | if (!PEM_read_bio(bp, &nm, &header, &data, &len)) { | 289 | if (!PEM_read_bio(bp, &nm, &header, &data, &len)) { |
| 290 | if (ERR_GET_REASON(ERR_peek_error()) == | 290 | if (ERR_GET_REASON(ERR_peek_error()) == |
| 291 | PEM_R_NO_START_LINE) | 291 | PEM_R_NO_START_LINE) |
| 292 | ERR_add_error_data(2, "Expecting: ", name); | 292 | ERR_asprintf_error_data("Expecting: %s", name); |
| 293 | return 0; | 293 | return 0; |
| 294 | } | 294 | } |
| 295 | if (check_pem(nm, name)) | 295 | if (check_pem(nm, name)) |
diff --git a/src/lib/libssl/src/crypto/pkcs7/bio_ber.c b/src/lib/libssl/src/crypto/pkcs7/bio_ber.c index 04dc5c9b96..d787495a21 100644 --- a/src/lib/libssl/src/crypto/pkcs7/bio_ber.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/pkcs7/pk7_smime.c b/src/lib/libssl/src/crypto/pkcs7/pk7_smime.c index a5104f8d05..6d6bd46b62 100644 --- a/src/lib/libssl/src/crypto/pkcs7/pk7_smime.c +++ b/src/lib/libssl/src/crypto/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; |
diff --git a/src/lib/libssl/src/crypto/ts/ts_conf.c b/src/lib/libssl/src/crypto/ts/ts_conf.c index f8cf3b514c..12cce16bc8 100644 --- a/src/lib/libssl/src/crypto/ts/ts_conf.c +++ b/src/lib/libssl/src/crypto/ts/ts_conf.c | |||
| @@ -239,7 +239,7 @@ err: | |||
| 239 | if (!ret) { | 239 | if (!ret) { |
| 240 | TSerr(TS_F_TS_CONF_SET_DEFAULT_ENGINE, | 240 | TSerr(TS_F_TS_CONF_SET_DEFAULT_ENGINE, |
| 241 | TS_R_COULD_NOT_SET_ENGINE); | 241 | TS_R_COULD_NOT_SET_ENGINE); |
| 242 | ERR_add_error_data(2, "engine:", name); | 242 | ERR_asprintf_error_data("engine:%s", name); |
| 243 | } | 243 | } |
| 244 | if (e) | 244 | if (e) |
| 245 | ENGINE_free(e); | 245 | ENGINE_free(e); |
diff --git a/src/lib/libssl/src/crypto/ts/ts_rsp_verify.c b/src/lib/libssl/src/crypto/ts/ts_rsp_verify.c index 66e35dab3a..2a4c0c5ef9 100644 --- a/src/lib/libssl/src/crypto/ts/ts_rsp_verify.c +++ b/src/lib/libssl/src/crypto/ts/ts_rsp_verify.c | |||
| @@ -244,7 +244,7 @@ TS_verify_cert(X509_STORE *store, STACK_OF(X509) *untrusted, X509 *signer, | |||
| 244 | if (i <= 0) { | 244 | if (i <= 0) { |
| 245 | int j = X509_STORE_CTX_get_error(&cert_ctx); | 245 | int j = X509_STORE_CTX_get_error(&cert_ctx); |
| 246 | TSerr(TS_F_TS_VERIFY_CERT, TS_R_CERTIFICATE_VERIFY_ERROR); | 246 | TSerr(TS_F_TS_VERIFY_CERT, TS_R_CERTIFICATE_VERIFY_ERROR); |
| 247 | ERR_add_error_data(2, "Verify error:", | 247 | ERR_asprintf_error_data("Verify error:%s", |
| 248 | X509_verify_cert_error_string(j)); | 248 | X509_verify_cert_error_string(j)); |
| 249 | ret = 0; | 249 | ret = 0; |
| 250 | } else { | 250 | } else { |
| @@ -530,11 +530,11 @@ TS_check_status_info(TS_RESP *response) | |||
| 530 | 530 | ||
| 531 | /* Making up the error string. */ | 531 | /* Making up the error string. */ |
| 532 | TSerr(TS_F_TS_CHECK_STATUS_INFO, TS_R_NO_TIME_STAMP_TOKEN); | 532 | TSerr(TS_F_TS_CHECK_STATUS_INFO, TS_R_NO_TIME_STAMP_TOKEN); |
| 533 | ERR_add_error_data(6, | 533 | ERR_asprintf_error_data |
| 534 | "status code: ", status_text, | 534 | ("status code: %s, status text: %s, failure codes: %s", |
| 535 | ", status text: ", embedded_status_text ? | 535 | status_text, |
| 536 | embedded_status_text : "unspecified", | 536 | embedded_status_text ? embedded_status_text : "unspecified", |
| 537 | ", failure codes: ", failure_text); | 537 | failure_text); |
| 538 | free(embedded_status_text); | 538 | free(embedded_status_text); |
| 539 | 539 | ||
| 540 | return 0; | 540 | return 0; |
diff --git a/src/lib/libssl/src/crypto/ui/ui_lib.c b/src/lib/libssl/src/crypto/ui/ui_lib.c index ee76e5e64d..5335b59c48 100644 --- a/src/lib/libssl/src/crypto/ui/ui_lib.c +++ b/src/lib/libssl/src/crypto/ui/ui_lib.c | |||
| @@ -827,31 +827,26 @@ UI_set_result(UI *ui, UI_STRING *uis, const char *result) | |||
| 827 | switch (uis->type) { | 827 | switch (uis->type) { |
| 828 | case UIT_PROMPT: | 828 | case UIT_PROMPT: |
| 829 | case UIT_VERIFY: | 829 | case UIT_VERIFY: |
| 830 | { | 830 | if (l < uis->_.string_data.result_minsize) { |
| 831 | char number1[DECIMAL_SIZE(uis->_.string_data.result_minsize) + 1]; | 831 | ui->flags |= UI_FLAG_REDOABLE; |
| 832 | char number2[DECIMAL_SIZE(uis->_.string_data.result_maxsize) + 1]; | 832 | UIerr(UI_F_UI_SET_RESULT, |
| 833 | 833 | UI_R_RESULT_TOO_SMALL); | |
| 834 | (void) snprintf(number1, sizeof(number1), "%d", | 834 | ERR_asprintf_error_data |
| 835 | uis->_.string_data.result_minsize); | 835 | ("You must type in %d to %d characters", |
| 836 | (void) snprintf(number2, sizeof(number2), "%d", | 836 | uis->_.string_data.result_minsize, |
| 837 | uis->_.string_data.result_maxsize); | 837 | uis->_.string_data.result_maxsize); |
| 838 | 838 | return -1; | |
| 839 | if (l < uis->_.string_data.result_minsize) { | 839 | } |
| 840 | ui->flags |= UI_FLAG_REDOABLE; | 840 | if (l > uis->_.string_data.result_maxsize) { |
| 841 | UIerr(UI_F_UI_SET_RESULT, UI_R_RESULT_TOO_SMALL); | 841 | ui->flags |= UI_FLAG_REDOABLE; |
| 842 | ERR_add_error_data(5, "You must type in ", | 842 | UIerr(UI_F_UI_SET_RESULT, |
| 843 | number1, " to ", number2, " characters"); | 843 | UI_R_RESULT_TOO_LARGE); |
| 844 | return -1; | 844 | ERR_asprintf_error_data |
| 845 | } | 845 | ("You must type in %d to %d characters", |
| 846 | if (l > uis->_.string_data.result_maxsize) { | 846 | uis->_.string_data.result_minsize, |
| 847 | ui->flags |= UI_FLAG_REDOABLE; | 847 | uis->_.string_data.result_maxsize); |
| 848 | UIerr(UI_F_UI_SET_RESULT, UI_R_RESULT_TOO_LARGE); | 848 | return -1; |
| 849 | ERR_add_error_data(5, "You must type in ", | ||
| 850 | number1, " to ", number2, " characters"); | ||
| 851 | return -1; | ||
| 852 | } | ||
| 853 | } | 849 | } |
| 854 | |||
| 855 | if (!uis->result_buf) { | 850 | if (!uis->result_buf) { |
| 856 | UIerr(UI_F_UI_SET_RESULT, UI_R_NO_RESULT_BUFFER); | 851 | UIerr(UI_F_UI_SET_RESULT, UI_R_NO_RESULT_BUFFER); |
| 857 | return -1; | 852 | return -1; |
diff --git a/src/lib/libssl/src/crypto/x509/x509_att.c b/src/lib/libssl/src/crypto/x509/x509_att.c index 5699568998..ef922c7c83 100644 --- a/src/lib/libssl/src/crypto/x509/x509_att.c +++ b/src/lib/libssl/src/crypto/x509/x509_att.c | |||
| @@ -282,7 +282,7 @@ X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr, const char *atrname, | |||
| 282 | if (obj == NULL) { | 282 | if (obj == NULL) { |
| 283 | X509err(X509_F_X509_ATTRIBUTE_CREATE_BY_TXT, | 283 | X509err(X509_F_X509_ATTRIBUTE_CREATE_BY_TXT, |
| 284 | X509_R_INVALID_FIELD_NAME); | 284 | X509_R_INVALID_FIELD_NAME); |
| 285 | ERR_add_error_data(2, "name=", atrname); | 285 | ERR_asprintf_error_data("name=%s", atrname); |
| 286 | return (NULL); | 286 | return (NULL); |
| 287 | } | 287 | } |
| 288 | nattr = X509_ATTRIBUTE_create_by_OBJ(attr, obj, type, bytes, len); | 288 | nattr = X509_ATTRIBUTE_create_by_OBJ(attr, obj, type, bytes, len); |
diff --git a/src/lib/libssl/src/crypto/x509/x509name.c b/src/lib/libssl/src/crypto/x509/x509name.c index 3d90fd67fe..32fce2debb 100644 --- a/src/lib/libssl/src/crypto/x509/x509name.c +++ b/src/lib/libssl/src/crypto/x509/x509name.c | |||
| @@ -298,7 +298,7 @@ X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, | |||
| 298 | if (obj == NULL) { | 298 | if (obj == NULL) { |
| 299 | X509err(X509_F_X509_NAME_ENTRY_CREATE_BY_TXT, | 299 | X509err(X509_F_X509_NAME_ENTRY_CREATE_BY_TXT, |
| 300 | X509_R_INVALID_FIELD_NAME); | 300 | X509_R_INVALID_FIELD_NAME); |
| 301 | ERR_add_error_data(2, "name=", field); | 301 | ERR_asprintf_error_data("name=%s", field); |
| 302 | return (NULL); | 302 | return (NULL); |
| 303 | } | 303 | } |
| 304 | nentry = X509_NAME_ENTRY_create_by_OBJ(ne, obj, type, bytes, len); | 304 | nentry = X509_NAME_ENTRY_create_by_OBJ(ne, obj, type, bytes, len); |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_akey.c b/src/lib/libssl/src/crypto/x509v3/v3_akey.c index 6d5c576e23..a5d760d469 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_akey.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_akey.c | |||
| @@ -139,7 +139,7 @@ v2i_AUTHORITY_KEYID(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, | |||
| 139 | } else { | 139 | } else { |
| 140 | X509V3err(X509V3_F_V2I_AUTHORITY_KEYID, | 140 | X509V3err(X509V3_F_V2I_AUTHORITY_KEYID, |
| 141 | X509V3_R_UNKNOWN_OPTION); | 141 | X509V3_R_UNKNOWN_OPTION); |
| 142 | ERR_add_error_data(2, "name=", cnf->name); | 142 | ERR_asprintf_error_data("name=%s", cnf->name); |
| 143 | return NULL; | 143 | return NULL; |
| 144 | } | 144 | } |
| 145 | } | 145 | } |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_alt.c b/src/lib/libssl/src/crypto/x509v3/v3_alt.c index e61ed673c0..61b0c90fad 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_alt.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_alt.c | |||
| @@ -479,7 +479,7 @@ a2i_GENERAL_NAME(GENERAL_NAME *out, const X509V3_EXT_METHOD *method, | |||
| 479 | if (!(obj = OBJ_txt2obj(value, 0))) { | 479 | if (!(obj = OBJ_txt2obj(value, 0))) { |
| 480 | X509V3err(X509V3_F_A2I_GENERAL_NAME, | 480 | X509V3err(X509V3_F_A2I_GENERAL_NAME, |
| 481 | X509V3_R_BAD_OBJECT); | 481 | X509V3_R_BAD_OBJECT); |
| 482 | ERR_add_error_data(2, "value=", value); | 482 | ERR_asprintf_error_data("value=%s", value); |
| 483 | goto err; | 483 | goto err; |
| 484 | } | 484 | } |
| 485 | gen->d.rid = obj; | 485 | gen->d.rid = obj; |
| @@ -494,7 +494,7 @@ a2i_GENERAL_NAME(GENERAL_NAME *out, const X509V3_EXT_METHOD *method, | |||
| 494 | if (gen->d.ip == NULL) { | 494 | if (gen->d.ip == NULL) { |
| 495 | X509V3err(X509V3_F_A2I_GENERAL_NAME, | 495 | X509V3err(X509V3_F_A2I_GENERAL_NAME, |
| 496 | X509V3_R_BAD_IP_ADDRESS); | 496 | X509V3_R_BAD_IP_ADDRESS); |
| 497 | ERR_add_error_data(2, "value=", value); | 497 | ERR_asprintf_error_data("value=%s", value); |
| 498 | goto err; | 498 | goto err; |
| 499 | } | 499 | } |
| 500 | break; | 500 | break; |
| @@ -572,7 +572,7 @@ v2i_GENERAL_NAME_ex(GENERAL_NAME *out, const X509V3_EXT_METHOD *method, | |||
| 572 | else { | 572 | else { |
| 573 | X509V3err(X509V3_F_V2I_GENERAL_NAME_EX, | 573 | X509V3err(X509V3_F_V2I_GENERAL_NAME_EX, |
| 574 | X509V3_R_UNSUPPORTED_OPTION); | 574 | X509V3_R_UNSUPPORTED_OPTION); |
| 575 | ERR_add_error_data(2, "name=", name); | 575 | ERR_asprintf_error_data("name=%s", name); |
| 576 | return NULL; | 576 | return NULL; |
| 577 | } | 577 | } |
| 578 | 578 | ||
| @@ -620,7 +620,7 @@ do_dirname(GENERAL_NAME *gen, char *value, X509V3_CTX *ctx) | |||
| 620 | sk = X509V3_get_section(ctx, value); | 620 | sk = X509V3_get_section(ctx, value); |
| 621 | if (!sk) { | 621 | if (!sk) { |
| 622 | X509V3err(X509V3_F_DO_DIRNAME, X509V3_R_SECTION_NOT_FOUND); | 622 | X509V3err(X509V3_F_DO_DIRNAME, X509V3_R_SECTION_NOT_FOUND); |
| 623 | ERR_add_error_data(2, "section=", value); | 623 | ERR_asprintf_error_data("section=%s", value); |
| 624 | X509_NAME_free(nm); | 624 | X509_NAME_free(nm); |
| 625 | return 0; | 625 | return 0; |
| 626 | } | 626 | } |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_conf.c b/src/lib/libssl/src/crypto/x509v3/v3_conf.c index daacf8d5df..e22aa50fcd 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_conf.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_conf.c | |||
| @@ -94,7 +94,7 @@ X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, char *name, char *value) | |||
| 94 | if (!ret) { | 94 | if (!ret) { |
| 95 | X509V3err(X509V3_F_X509V3_EXT_NCONF, | 95 | X509V3err(X509V3_F_X509V3_EXT_NCONF, |
| 96 | X509V3_R_ERROR_IN_EXTENSION); | 96 | X509V3_R_ERROR_IN_EXTENSION); |
| 97 | ERR_add_error_data(4, "name=", name, ", value=", value); | 97 | ERR_asprintf_error_data("name=%s, value=%s", name, value); |
| 98 | } | 98 | } |
| 99 | return ret; | 99 | return ret; |
| 100 | } | 100 | } |
| @@ -142,8 +142,8 @@ do_ext_nconf(CONF *conf, X509V3_CTX *ctx, int ext_nid, int crit, char *value) | |||
| 142 | if (sk_CONF_VALUE_num(nval) <= 0) { | 142 | if (sk_CONF_VALUE_num(nval) <= 0) { |
| 143 | X509V3err(X509V3_F_DO_EXT_NCONF, | 143 | X509V3err(X509V3_F_DO_EXT_NCONF, |
| 144 | X509V3_R_INVALID_EXTENSION_STRING); | 144 | X509V3_R_INVALID_EXTENSION_STRING); |
| 145 | ERR_add_error_data(4, "name=", OBJ_nid2sn(ext_nid), | 145 | ERR_asprintf_error_data("name=%s,section=%s", |
| 146 | ",section=", value); | 146 | OBJ_nid2sn(ext_nid), value); |
| 147 | return NULL; | 147 | return NULL; |
| 148 | } | 148 | } |
| 149 | ext_struc = method->v2i(method, ctx, nval); | 149 | ext_struc = method->v2i(method, ctx, nval); |
| @@ -165,7 +165,7 @@ do_ext_nconf(CONF *conf, X509V3_CTX *ctx, int ext_nid, int crit, char *value) | |||
| 165 | } else { | 165 | } else { |
| 166 | X509V3err(X509V3_F_DO_EXT_NCONF, | 166 | X509V3err(X509V3_F_DO_EXT_NCONF, |
| 167 | X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED); | 167 | X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED); |
| 168 | ERR_add_error_data(2, "name=", OBJ_nid2sn(ext_nid)); | 168 | ERR_asprintf_error_data("name=%s", OBJ_nid2sn(ext_nid)); |
| 169 | return NULL; | 169 | return NULL; |
| 170 | } | 170 | } |
| 171 | 171 | ||
| @@ -283,7 +283,7 @@ v3_generic_extension(const char *ext, char *value, int crit, int gen_type, | |||
| 283 | if (!(obj = OBJ_txt2obj(ext, 0))) { | 283 | if (!(obj = OBJ_txt2obj(ext, 0))) { |
| 284 | X509V3err(X509V3_F_V3_GENERIC_EXTENSION, | 284 | X509V3err(X509V3_F_V3_GENERIC_EXTENSION, |
| 285 | X509V3_R_EXTENSION_NAME_ERROR); | 285 | X509V3_R_EXTENSION_NAME_ERROR); |
| 286 | ERR_add_error_data(2, "name=", ext); | 286 | ERR_asprintf_error_data("name=%s", ext); |
| 287 | goto err; | 287 | goto err; |
| 288 | } | 288 | } |
| 289 | 289 | ||
| @@ -295,7 +295,7 @@ v3_generic_extension(const char *ext, char *value, int crit, int gen_type, | |||
| 295 | if (ext_der == NULL) { | 295 | if (ext_der == NULL) { |
| 296 | X509V3err(X509V3_F_V3_GENERIC_EXTENSION, | 296 | X509V3err(X509V3_F_V3_GENERIC_EXTENSION, |
| 297 | X509V3_R_EXTENSION_VALUE_ERROR); | 297 | X509V3_R_EXTENSION_VALUE_ERROR); |
| 298 | ERR_add_error_data(2, "value=", value); | 298 | ERR_asprintf_error_data("value=%s", value); |
| 299 | goto err; | 299 | goto err; |
| 300 | } | 300 | } |
| 301 | 301 | ||
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_info.c b/src/lib/libssl/src/crypto/x509v3/v3_info.c index 7853e3e23b..9ae1596b1f 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_info.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_info.c | |||
| @@ -184,12 +184,10 @@ v2i_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, | |||
| 184 | if (!acc->method) { | 184 | if (!acc->method) { |
| 185 | X509V3err(X509V3_F_V2I_AUTHORITY_INFO_ACCESS, | 185 | X509V3err(X509V3_F_V2I_AUTHORITY_INFO_ACCESS, |
| 186 | X509V3_R_BAD_OBJECT); | 186 | X509V3_R_BAD_OBJECT); |
| 187 | ERR_add_error_data(2, "value=", objtmp); | 187 | ERR_asprintf_error_data("value=%s", objtmp); |
| 188 | free(objtmp); | ||
| 189 | goto err; | 188 | goto err; |
| 190 | } | 189 | } |
| 191 | free(objtmp); | 190 | free(objtmp); |
| 192 | |||
| 193 | } | 191 | } |
| 194 | return ainfo; | 192 | return ainfo; |
| 195 | 193 | ||
diff --git a/src/lib/libssl/src/crypto/x509v3/x509v3.h b/src/lib/libssl/src/crypto/x509v3/x509v3.h index b308abe7cd..dda5344b33 100644 --- a/src/lib/libssl/src/crypto/x509v3/x509v3.h +++ b/src/lib/libssl/src/crypto/x509v3/x509v3.h | |||
| @@ -379,8 +379,9 @@ struct ISSUING_DIST_POINT_st | |||
| 379 | /* onlysomereasons present */ | 379 | /* onlysomereasons present */ |
| 380 | #define IDP_REASONS 0x40 | 380 | #define IDP_REASONS 0x40 |
| 381 | 381 | ||
| 382 | #define X509V3_conf_err(val) ERR_add_error_data(6, "section:", val->section, \ | 382 | #define X509V3_conf_err(val) ERR_asprintf_error_data( \ |
| 383 | ",name:", val->name, ",value:", val->value); | 383 | "section:%s,name:%s,value:%s", val->section, \ |
| 384 | val->name, val->value); | ||
| 384 | 385 | ||
| 385 | #define X509V3_set_ctx_test(ctx) \ | 386 | #define X509V3_set_ctx_test(ctx) \ |
| 386 | X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST) | 387 | X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST) |
diff --git a/src/lib/libssl/src/ssl/d1_pkt.c b/src/lib/libssl/src/ssl/d1_pkt.c index 7cfada4e6b..c5bdb41b90 100644 --- a/src/lib/libssl/src/ssl/d1_pkt.c +++ b/src/lib/libssl/src/ssl/d1_pkt.c | |||
| @@ -1109,13 +1109,11 @@ start: | |||
| 1109 | #endif | 1109 | #endif |
| 1110 | } else if (alert_level == 2) /* fatal */ | 1110 | } else if (alert_level == 2) /* fatal */ |
| 1111 | { | 1111 | { |
| 1112 | char tmp[16]; | ||
| 1113 | |||
| 1114 | s->rwstate = SSL_NOTHING; | 1112 | s->rwstate = SSL_NOTHING; |
| 1115 | s->s3->fatal_alert = alert_descr; | 1113 | s->s3->fatal_alert = alert_descr; |
| 1116 | SSLerr(SSL_F_DTLS1_READ_BYTES, SSL_AD_REASON_OFFSET + alert_descr); | 1114 | SSLerr(SSL_F_DTLS1_READ_BYTES, SSL_AD_REASON_OFFSET + alert_descr); |
| 1117 | (void) snprintf(tmp,sizeof tmp,"%d",alert_descr); | 1115 | ERR_asprintf_error_data("SSL alert number %d", |
| 1118 | ERR_add_error_data(2, "SSL alert number ", tmp); | 1116 | alert_descr); |
| 1119 | s->shutdown|=SSL_RECEIVED_SHUTDOWN; | 1117 | s->shutdown|=SSL_RECEIVED_SHUTDOWN; |
| 1120 | SSL_CTX_remove_session(s->ctx, s->session); | 1118 | SSL_CTX_remove_session(s->ctx, s->session); |
| 1121 | return (0); | 1119 | return (0); |
diff --git a/src/lib/libssl/src/ssl/s3_pkt.c b/src/lib/libssl/src/ssl/s3_pkt.c index 68c3f1cb2b..4a8462ecb9 100644 --- a/src/lib/libssl/src/ssl/s3_pkt.c +++ b/src/lib/libssl/src/ssl/s3_pkt.c | |||
| @@ -1169,13 +1169,11 @@ start: | |||
| 1169 | #endif | 1169 | #endif |
| 1170 | } else if (alert_level == 2) { | 1170 | } else if (alert_level == 2) { |
| 1171 | /* fatal */ | 1171 | /* fatal */ |
| 1172 | char tmp[16]; | ||
| 1173 | |||
| 1174 | s->rwstate = SSL_NOTHING; | 1172 | s->rwstate = SSL_NOTHING; |
| 1175 | s->s3->fatal_alert = alert_descr; | 1173 | s->s3->fatal_alert = alert_descr; |
| 1176 | SSLerr(SSL_F_SSL3_READ_BYTES, SSL_AD_REASON_OFFSET + alert_descr); | 1174 | SSLerr(SSL_F_SSL3_READ_BYTES, SSL_AD_REASON_OFFSET + alert_descr); |
| 1177 | (void) snprintf(tmp, sizeof tmp, "%d", alert_descr); | 1175 | ERR_asprintf_error_data("SSL alert number %d", |
| 1178 | ERR_add_error_data(2, "SSL alert number ", tmp); | 1176 | alert_descr); |
| 1179 | s->shutdown|=SSL_RECEIVED_SHUTDOWN; | 1177 | s->shutdown|=SSL_RECEIVED_SHUTDOWN; |
| 1180 | SSL_CTX_remove_session(s->ctx, s->session); | 1178 | SSL_CTX_remove_session(s->ctx, s->session); |
| 1181 | return (0); | 1179 | return (0); |
diff --git a/src/lib/libssl/src/ssl/ssl_cert.c b/src/lib/libssl/src/ssl/ssl_cert.c index b493585c58..1b9944cf92 100644 --- a/src/lib/libssl/src/ssl/ssl_cert.c +++ b/src/lib/libssl/src/ssl/ssl_cert.c | |||
| @@ -783,7 +783,7 @@ SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, | |||
| 783 | } | 783 | } |
| 784 | if (!ret) { | 784 | if (!ret) { |
| 785 | SYSerr(SYS_F_OPENDIR, errno); | 785 | SYSerr(SYS_F_OPENDIR, errno); |
| 786 | ERR_add_error_data(3, "opendir ('", dir, "')"); | 786 | ERR_asprintf_error_data("opendir ('%s')", dir); |
| 787 | SSLerr(SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK, | 787 | SSLerr(SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK, |
| 788 | ERR_R_SYS_LIB); | 788 | ERR_R_SYS_LIB); |
| 789 | } | 789 | } |
diff --git a/src/lib/libssl/ssl_cert.c b/src/lib/libssl/ssl_cert.c index b493585c58..1b9944cf92 100644 --- a/src/lib/libssl/ssl_cert.c +++ b/src/lib/libssl/ssl_cert.c | |||
| @@ -783,7 +783,7 @@ SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, | |||
| 783 | } | 783 | } |
| 784 | if (!ret) { | 784 | if (!ret) { |
| 785 | SYSerr(SYS_F_OPENDIR, errno); | 785 | SYSerr(SYS_F_OPENDIR, errno); |
| 786 | ERR_add_error_data(3, "opendir ('", dir, "')"); | 786 | ERR_asprintf_error_data("opendir ('%s')", dir); |
| 787 | SSLerr(SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK, | 787 | SSLerr(SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK, |
| 788 | ERR_R_SYS_LIB); | 788 | ERR_R_SYS_LIB); |
| 789 | } | 789 | } |
