diff options
author | Julien Boeuf <jboeuf@google.com> | 2015-03-24 22:10:16 -0700 |
---|---|---|
committer | Julien Boeuf <jboeuf@google.com> | 2015-03-24 22:10:16 -0700 |
commit | 2f223460b0d65c3069165f6c5249f98cb9fda56a (patch) | |
tree | f12ff189928106f7b9f1baf123d7a9024475e360 /src/core | |
parent | dad14be4eb359326a11253196f035c8f36fbdc86 (diff) |
Fixing errors found by clang static analysis.
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/tsi/ssl_transport_security.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/tsi/ssl_transport_security.c b/src/core/tsi/ssl_transport_security.c index 33645ca8b8..018ddc4456 100644 --- a/src/core/tsi/ssl_transport_security.c +++ b/src/core/tsi/ssl_transport_security.c @@ -567,7 +567,8 @@ static tsi_result populate_ssl_context( EC_KEY* ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1); if (!SSL_CTX_set_tmp_ecdh(context, ecdh)) { gpr_log(GPR_ERROR, "Could not set ephemeral ECDH key."); - result = TSI_INTERNAL_ERROR; + EC_KEY_free(ecdh); + return TSI_INTERNAL_ERROR; } SSL_CTX_set_options(context, SSL_OP_SINGLE_ECDH_USE); EC_KEY_free(ecdh); @@ -604,6 +605,7 @@ static tsi_result build_alpn_protocol_name_list( unsigned char* current; *protocol_name_list = NULL; *protocol_name_list_length = 0; + if (num_alpn_protocols == 0) return TSI_INVALID_ARGUMENT; for (i = 0; i < num_alpn_protocols; i++) { if (alpn_protocols_lengths[i] == 0) { gpr_log(GPR_ERROR, "Invalid 0-length protocol name."); |