ITS#9413 fix slap_parse_user

This commit is contained in:
Howard Chu 2020-12-01 19:03:24 +00:00
parent 42d42421a8
commit e394bcfa76

View File

@ -154,10 +154,9 @@ int slap_parse_user( struct berval *id, struct berval *user,
user->bv_val++; user->bv_val++;
user->bv_len = id->bv_len - ( user->bv_val - id->bv_val ); user->bv_len = id->bv_len - ( user->bv_val - id->bv_val );
mech->bv_val = ber_bvchr( id, '.' ); if ( id->bv_val[1] == '.' ) {
if ( !BER_BVISNULL( mech ) ) { id->bv_val[1] = '\0';
mech->bv_val[ 0 ] = '\0'; mech->bv_val = id->bv_val + 2;
mech->bv_val++;
mech->bv_len = user->bv_val - mech->bv_val - 1; mech->bv_len = user->bv_val - mech->bv_val - 1;
realm->bv_val = ber_bvchr( mech, '/' ); realm->bv_val = ber_bvchr( mech, '/' );
@ -170,6 +169,7 @@ int slap_parse_user( struct berval *id, struct berval *user,
} }
} else { } else {
BER_BVZERO( mech );
BER_BVZERO( realm ); BER_BVZERO( realm );
} }