commit 74fc993b98a98f57d257d2150b0a915b47356490 Author: Robert Ransom rransom.8774@gmail.com Date: Thu Mar 3 16:17:39 2011 -0800
Check the result of SSL_set_ex_data
Reported by piebeer. --- src/common/tortls.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/src/common/tortls.c b/src/common/tortls.c index 905ecbb..01d3e2a 100644 --- a/src/common/tortls.c +++ b/src/common/tortls.c @@ -1065,7 +1065,14 @@ tor_tls_new(int sock, int isServer) tor_free(result); return NULL; } - SSL_set_ex_data(result->ssl, tor_tls_object_ex_data_index, result); + { + int set_worked = + SSL_set_ex_data(result->ssl, tor_tls_object_ex_data_index, result); + if (!set_worked) { + log_warn(LD_BUG, + "Couldn't set the tls for an SSL*; connection will fail"); + } + } SSL_set_bio(result->ssl, bio, bio); tor_tls_context_incref(context); result->context = context;