From 2c939f7196e2ad3ec907c277494b9d3e932585c2 Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Fri, 21 Feb 2003 17:11:46 +0000 Subject: [PATCH] Back out interact free() fixes. Will fix properly in next commit. --- libraries/libldap/cyrus.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/libraries/libldap/cyrus.c b/libraries/libldap/cyrus.c index 3032f8c8dc..b6aae585c5 100644 --- a/libraries/libldap/cyrus.c +++ b/libraries/libldap/cyrus.c @@ -1,6 +1,6 @@ /* $OpenLDAP$ */ /* - * Copyright 1999-2003 The OpenLDAP Foundation, All Rights Reserved. + * Copyright 1999-2002 The OpenLDAP Foundation, All Rights Reserved. * COPYING RESTRICTIONS APPLY, see COPYRIGHT file */ @@ -599,22 +599,16 @@ ldap_int_sasl_bind( } } - if( saslrc == SASL_INTERACT ) { - int res; - #if SASL_VERSION_MAJOR >= 2 - /* XXX the application should free interact results. - * FIXME: this should happen only - * if saslrc == SASL_INTERACT - * - * I assume that prompts->result is not needed - * by the subsequent call to (interact)() */ - if ( prompts != NULL && prompts->result != NULL ) { - LDAP_FREE( (void *)prompts->result ); - prompts->result = NULL; - } + /* XXX the application should free interact results. */ + if ( prompts != NULL && prompts->result != NULL ) { + LDAP_FREE( (void *)prompts->result ); + prompts->result = NULL; + } #endif + if( saslrc == SASL_INTERACT ) { + int res; if( !interact ) break; res = (interact)( ld, flags, defaults, prompts ); if( res != LDAP_SUCCESS ) { -- 2.39.5