mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-06 10:46:21 +08:00
fix group limits when objectClass/attribute are provided
This commit is contained in:
parent
edc9b936d0
commit
2ed3625a13
@ -494,8 +494,12 @@ limits_parse(
|
||||
struct berval oc, ad;
|
||||
|
||||
oc.bv_val = pattern + 1;
|
||||
pattern = strchr( pattern, '=' );
|
||||
if ( pattern == NULL ) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
ad.bv_val = strchr(pattern, '/');
|
||||
ad.bv_val = strchr( oc.bv_val, '/' );
|
||||
if ( ad.bv_val != NULL ) {
|
||||
const char *text = NULL;
|
||||
int rc;
|
||||
@ -503,18 +507,14 @@ limits_parse(
|
||||
oc.bv_len = ad.bv_val - oc.bv_val;
|
||||
|
||||
ad.bv_val++;
|
||||
ad.bv_len = strlen( ad.bv_val );
|
||||
ad.bv_len = pattern - ad.bv_val;
|
||||
rc = slap_bv2ad( &ad, &group_ad, &text );
|
||||
if ( rc != LDAP_SUCCESS ) {
|
||||
goto no_ad;
|
||||
}
|
||||
|
||||
pattern = ad.bv_val + ad.bv_len;
|
||||
|
||||
} else {
|
||||
oc.bv_len = strlen( oc.bv_val );
|
||||
|
||||
pattern = oc.bv_val + oc.bv_len;
|
||||
oc.bv_len = pattern - oc.bv_val;
|
||||
}
|
||||
|
||||
group_oc = oc_bvfind( &oc );
|
||||
|
Loading…
Reference in New Issue
Block a user