From: Howard Chu Date: Sat, 7 Sep 2013 15:58:25 +0000 (-0700) Subject: Fix double-free on ciphersuite parse failure X-Git-Tag: OPENLDAP_REL_ENG_2_4_40~165 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=7350a52adacb5f258925b14d2bc5136c8f4ddd9b;p=openldap Fix double-free on ciphersuite parse failure GnuTLS does an implicit free on failure. --- diff --git a/libraries/libldap/tls_g.c b/libraries/libldap/tls_g.c index 50e27a6b68..c1e368e02e 100644 --- a/libraries/libldap/tls_g.c +++ b/libraries/libldap/tls_g.c @@ -786,7 +786,10 @@ tlsg_parse_ciphers( tlsg_ctx *ctx, char *suites ) { #ifdef HAVE_CIPHERSUITES const char *err; - return gnutls_priority_init( &ctx->prios, suites, &err ); + int rc = gnutls_priority_init( &ctx->prios, suites, &err ); + if ( rc ) + ctx->prios = NULL; + return rc; #else char *ptr, *end; int i, j, len, num;