From: Howard Chu Date: Tue, 1 Dec 2020 19:03:24 +0000 (+0000) Subject: [PATCH] ITS#9413 fix slap_parse_user X-Git-Tag: archive/raspbian/2.4.47+dfsg-3+rpi1+deb10u5^2~6 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=584160a6677811eff4975206c78a00166c532de3;p=openldap.git [PATCH] ITS#9413 fix slap_parse_user Gbp-Pq: Name ITS-9413-fix-slap_parse_user.patch --- diff --git a/servers/slapd/saslauthz.c b/servers/slapd/saslauthz.c index 4bca088a..5d361575 100644 --- a/servers/slapd/saslauthz.c +++ b/servers/slapd/saslauthz.c @@ -156,10 +156,9 @@ int slap_parse_user( struct berval *id, struct berval *user, user->bv_val++; user->bv_len = id->bv_len - ( user->bv_val - id->bv_val ); - mech->bv_val = ber_bvchr( id, '.' ); - if ( !BER_BVISNULL( mech ) ) { - mech->bv_val[ 0 ] = '\0'; - mech->bv_val++; + if ( id->bv_val[1] == '.' ) { + id->bv_val[1] = '\0'; + mech->bv_val = id->bv_val + 2; mech->bv_len = user->bv_val - mech->bv_val - 1; realm->bv_val = ber_bvchr( mech, '/' ); @@ -172,6 +171,7 @@ int slap_parse_user( struct berval *id, struct berval *user, } } else { + BER_BVZERO( mech ); BER_BVZERO( realm ); }