ITS#9438 slapo-remoteauth: plug config leaks

This commit is contained in:
Ondřej Kuzník 2022-08-31 12:37:13 +01:00
parent 333d61d7eb
commit 9c747074ff

View file

@ -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 );