mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-02-10 14:23:34 -05:00
ITS#9438 slapo-remoteauth: plug config leaks
This commit is contained in:
parent
333d61d7eb
commit
9c747074ff
1 changed files with 14 additions and 8 deletions
|
|
@ -204,12 +204,12 @@ remoteauth_cf_gen( ConfigArgs *c )
|
|||
str = ch_malloc( strlen( map->domain ) +
|
||||
strlen( map->realm ) + 2 );
|
||||
sprintf( str, "%s %s", map->domain, map->realm );
|
||||
ber_str2bv( str, strlen( str ), 1, &bv );
|
||||
ch_free( str );
|
||||
ber_str2bv( str, 0, 0, &bv );
|
||||
rc = value_add_one( &c->rvalue_vals, &bv );
|
||||
if ( rc ) return rc;
|
||||
rc = value_add_one( &c->rvalue_nvals, &bv );
|
||||
if ( rc ) return rc;
|
||||
if ( !rc )
|
||||
rc = value_add_one( &c->rvalue_nvals, &bv );
|
||||
ch_free( str );
|
||||
if ( rc ) break;
|
||||
}
|
||||
break;
|
||||
case REMOTE_AUTH_DN_ATTRIBUTE:
|
||||
|
|
@ -223,13 +223,13 @@ remoteauth_cf_gen( ConfigArgs *c )
|
|||
break;
|
||||
case REMOTE_AUTH_DEFAULT_DOMAIN:
|
||||
if ( ad->default_domain ) {
|
||||
ber_str2bv( ad->default_domain, 0, 1, &bv );
|
||||
ber_str2bv( ad->default_domain, 0, 0, &bv );
|
||||
value_add_one( &c->rvalue_vals, &bv );
|
||||
}
|
||||
break;
|
||||
case REMOTE_AUTH_DEFAULT_REALM:
|
||||
if ( ad->default_realm ) {
|
||||
ber_str2bv( ad->default_realm, 0, 1, &bv );
|
||||
ber_str2bv( ad->default_realm, 0, 0, &bv );
|
||||
value_add_one( &c->rvalue_vals, &bv );
|
||||
}
|
||||
break;
|
||||
|
|
@ -246,6 +246,7 @@ remoteauth_cf_gen( ConfigArgs *c )
|
|||
}
|
||||
|
||||
value_add_one( &c->rvalue_vals, &bv );
|
||||
ch_free( bv.bv_val );
|
||||
break;
|
||||
case REMOTE_AUTH_TLS_PIN: {
|
||||
ad_pin *pin = ad->pins;
|
||||
|
|
@ -950,14 +951,19 @@ remoteauth_db_destroy( BackendDB *be, ConfigReply *cr )
|
|||
ad_info *ai = ap->mappings;
|
||||
|
||||
while ( ai ) {
|
||||
ad_info *next = ai->next;
|
||||
|
||||
if ( ai->domain ) ch_free( ai->domain );
|
||||
if ( ai->realm ) ch_free( ai->realm );
|
||||
ai = ai->next;
|
||||
|
||||
ch_free( ai );
|
||||
ai = next;
|
||||
}
|
||||
|
||||
if ( ap->dn ) ch_free( ap->dn );
|
||||
if ( ap->default_domain ) ch_free( ap->default_domain );
|
||||
if ( ap->default_realm ) ch_free( ap->default_realm );
|
||||
if ( ap->domain_attr ) ch_free( ap->domain_attr );
|
||||
|
||||
bindconf_free( &ap->ad_tls );
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue