Clear a goto in d1_srtp.cc.

Bug: 132
Change-Id: I4ba12f1dfbbdc75cb3841dc70f9007bd8695da97
Reviewed-on: https://boringssl-review.googlesource.com/20665
Reviewed-by: Steven Valdez <svaldez@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
This commit is contained in:
David Benjamin 2017-09-21 02:11:35 -04:00 committed by CQ bot account: commit-bot@chromium.org
parent b7e5b08a20
commit 38570b26b8

View File

@ -160,9 +160,9 @@ static int find_profile_by_name(const char *profile_name,
static int ssl_ctx_make_profiles(const char *profiles_string, static int ssl_ctx_make_profiles(const char *profiles_string,
STACK_OF(SRTP_PROTECTION_PROFILE) **out) { STACK_OF(SRTP_PROTECTION_PROFILE) **out) {
STACK_OF(SRTP_PROTECTION_PROFILE) *profiles = UniquePtr<STACK_OF(SRTP_PROTECTION_PROFILE)> profiles(
sk_SRTP_PROTECTION_PROFILE_new_null(); sk_SRTP_PROTECTION_PROFILE_new_null());
if (profiles == NULL) { if (profiles == nullptr) {
OPENSSL_PUT_ERROR(SSL, SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES); OPENSSL_PUT_ERROR(SSL, SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES);
return 0; return 0;
} }
@ -176,11 +176,11 @@ static int ssl_ctx_make_profiles(const char *profiles_string,
if (!find_profile_by_name(ptr, &profile, if (!find_profile_by_name(ptr, &profile,
col ? (size_t)(col - ptr) : strlen(ptr))) { col ? (size_t)(col - ptr) : strlen(ptr))) {
OPENSSL_PUT_ERROR(SSL, SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE); OPENSSL_PUT_ERROR(SSL, SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE);
goto err; return 0;
} }
if (!sk_SRTP_PROTECTION_PROFILE_push(profiles, profile)) { if (!sk_SRTP_PROTECTION_PROFILE_push(profiles.get(), profile)) {
goto err; return 0;
} }
if (col) { if (col) {
@ -189,12 +189,8 @@ static int ssl_ctx_make_profiles(const char *profiles_string,
} while (col); } while (col);
sk_SRTP_PROTECTION_PROFILE_free(*out); sk_SRTP_PROTECTION_PROFILE_free(*out);
*out = profiles; *out = profiles.release();
return 1; return 1;
err:
sk_SRTP_PROTECTION_PROFILE_free(profiles);
return 0;
} }
int SSL_CTX_set_srtp_profiles(SSL_CTX *ctx, const char *profiles) { int SSL_CTX_set_srtp_profiles(SSL_CTX *ctx, const char *profiles) {