mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-28 17:47:33 -05:00
ITS#7146 fix prev commit
This commit is contained in:
parent
9d3b1af2ff
commit
3423b56690
2 changed files with 11 additions and 5 deletions
|
|
@ -556,6 +556,12 @@ int mdb_ad_read( struct mdb_info *mdb, MDB_txn *txn )
|
|||
if ( rc ) {
|
||||
rc = slap_bv2undef_ad( &bdata, &mdb->mi_ads[i], &text, 0 );
|
||||
} else {
|
||||
if ( ad->ad_index >= MDB_MAXADS ) {
|
||||
Debug( LDAP_DEBUG_ANY,
|
||||
"mdb_adb_read: too many AttributeDescriptions in use\n",
|
||||
0, 0, 0 );
|
||||
return LDAP_OTHER;
|
||||
}
|
||||
mdb->mi_adxs[ad->ad_index] = i;
|
||||
mdb->mi_ads[i] = ad;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -500,6 +500,11 @@ static int mdb_entry_partsize(struct mdb_info *mdb, MDB_txn *txn, Entry *e,
|
|||
for (a=e->e_attrs; a; a=a->a_next) {
|
||||
/* For AttributeDesc, we only store the attr index */
|
||||
nat++;
|
||||
if (a->a_desc->ad_index >= MDB_MAXADS) {
|
||||
Debug( LDAP_DEBUG_ANY, "mdb_entry_partsize: too many AttributeDescriptions used\n",
|
||||
0, 0, 0 );
|
||||
return LDAP_OTHER;
|
||||
}
|
||||
if (!mdb->mi_adxs[a->a_desc->ad_index]) {
|
||||
int rc = mdb_ad_get(mdb, txn, a->a_desc);
|
||||
if (rc)
|
||||
|
|
@ -569,11 +574,6 @@ static int mdb_entry_encode(Operation *op, Entry *e, MDB_val *data, Ecount *eh)
|
|||
ptr = (unsigned char *)(lp + eh->offset);
|
||||
|
||||
for (a=e->e_attrs; a; a=a->a_next) {
|
||||
if (a->a_desc->ad_index >= MDB_MAXADS) {
|
||||
Debug( LDAP_DEBUG_ANY, "mdb_entry_encode: too many AttributeDescriptions used\n",
|
||||
0, 0, 0 );
|
||||
return LDAP_OTHER;
|
||||
}
|
||||
*lp++ = mdb->mi_adxs[a->a_desc->ad_index];
|
||||
l = a->a_numvals;
|
||||
if (a->a_nvals != a->a_vals)
|
||||
|
|
|
|||
Loading…
Reference in a new issue