diff options
author | beck <> | 2014-04-26 18:56:38 +0000 |
---|---|---|
committer | beck <> | 2014-04-26 18:56:38 +0000 |
commit | 47bb6e76785f0b1c4d19d8d0a02f3eb3813f96e2 (patch) | |
tree | dff54039de6c4454b05953e2ce78edfc5693e6b5 /src/lib/libssl/s3_pkt.c | |
parent | 8f710803a9e330d7e3f2e62116ae5b3fc02bd6cf (diff) | |
download | openbsd-47bb6e76785f0b1c4d19d8d0a02f3eb3813f96e2.tar.gz openbsd-47bb6e76785f0b1c4d19d8d0a02f3eb3813f96e2.tar.bz2 openbsd-47bb6e76785f0b1c4d19d8d0a02f3eb3813f96e2.zip |
Replace all use of ERR_add_error_data with ERR_asprintf_error_data.
This avoids a lot of ugly gymnastics to do snprintfs before sending the
bag of strings to ERR, and eliminates at least one place in dso_dlfctn.c
where it was being called with the incorrect number of arguments and
using random things off the stack as addresses of strings.
ok krw@, jsing@
Diffstat (limited to 'src/lib/libssl/s3_pkt.c')
-rw-r--r-- | src/lib/libssl/s3_pkt.c | 6 |
1 files changed, 2 insertions, 4 deletions
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); |