38 lines
1.1 KiB
Diff
38 lines
1.1 KiB
Diff
From b4248eeda7ebb2c62266c34128caba5c14e4bc67 Mon Sep 17 00:00:00 2001
|
|
From: Howard Chu <hyc@openldap.org>
|
|
Date: Tue, 1 Dec 2020 19:03:24 +0000
|
|
Subject: [PATCH 219/224] ITS#9413 fix slap_parse_user
|
|
|
|
---
|
|
servers/slapd/saslauthz.c | 8 ++++----
|
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/servers/slapd/saslauthz.c b/servers/slapd/saslauthz.c
|
|
index 19c058cbf..629280efe 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 );
|
|
}
|
|
|
|
--
|
|
2.30.0
|
|
|