From a0f6fdb730a13427bd8a7541159e2e3dc250d6ea Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Fri, 30 Sep 2005 06:20:56 +0000 Subject: [PATCH] ITS#4048 plug leak --- libraries/libldap/cyrus.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/libraries/libldap/cyrus.c b/libraries/libldap/cyrus.c index 564cee7072..5d2d74103c 100644 --- a/libraries/libldap/cyrus.c +++ b/libraries/libldap/cyrus.c @@ -710,11 +710,13 @@ ldap_int_sasl_bind( } if ( rc != LDAP_SUCCESS && rc != LDAP_SASL_BIND_IN_PROGRESS ) { - if( scred && scred->bv_len ) { - /* and server provided us with data? */ - Debug( LDAP_DEBUG_TRACE, - "ldap_int_sasl_bind: rc=%d sasl=%d len=%ld\n", - rc, saslrc, scred->bv_len ); + if( scred ) { + if ( scred->bv_len ) { + /* and server provided us with data? */ + Debug( LDAP_DEBUG_TRACE, + "ldap_int_sasl_bind: rc=%d sasl=%d len=%ld\n", + rc, saslrc, scred->bv_len ); + } ber_bvfree( scred ); } rc = ld->ld_errno; @@ -723,11 +725,13 @@ ldap_int_sasl_bind( if( rc == LDAP_SUCCESS && saslrc == SASL_OK ) { /* we're done, no need to step */ - if( scred && scred->bv_len ) { - /* but server provided us with data! */ - Debug( LDAP_DEBUG_TRACE, - "ldap_int_sasl_bind: rc=%d sasl=%d len=%ld\n", - rc, saslrc, scred->bv_len ); + if( scred ) { + if ( scred->bv_len ) { + /* but server provided us with data! */ + Debug( LDAP_DEBUG_TRACE, + "ldap_int_sasl_bind: rc=%d sasl=%d len=%ld\n", + rc, saslrc, scred->bv_len ); + } ber_bvfree( scred ); rc = ld->ld_errno = LDAP_LOCAL_ERROR; goto done; -- 2.39.5