[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] In tor_tls_get_my_certs(), set cert ptrs even on failure
commit 7c8f20ba44a831ed9f714453fa776762d1c872c5
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date: Tue Sep 18 15:18:52 2018 -0400
In tor_tls_get_my_certs(), set cert ptrs even on failure
Nothing should ever look at them on failure, but in some cases,
the unit tests don't check for failure, and then GCC-LTO freaks out.
Fixes part of 27772.
---
src/lib/tls/tortls.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/lib/tls/tortls.c b/src/lib/tls/tortls.c
index 3ae3a1a09..56f70bc37 100644
--- a/src/lib/tls/tortls.c
+++ b/src/lib/tls/tortls.c
@@ -71,13 +71,19 @@ tor_tls_get_my_certs(int server,
const tor_x509_cert_t **id_cert_out)
{
tor_tls_context_t *ctx = tor_tls_context_get(server);
- if (! ctx)
- return -1;
+ int rv = -1;
+ const tor_x509_cert_t *link_cert = NULL;
+ const tor_x509_cert_t *id_cert = NULL;
+ if (ctx) {
+ rv = 0;
+ link_cert = server ? ctx->my_link_cert : ctx->my_auth_cert;
+ id_cert = ctx->my_id_cert;
+ }
if (link_cert_out)
- *link_cert_out = server ? ctx->my_link_cert : ctx->my_auth_cert;
+ *link_cert_out = link_cert;
if (id_cert_out)
- *id_cert_out = ctx->my_id_cert;
- return 0;
+ *id_cert_out = id_cert;
+ return rv;
}
/**
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits