Skip to content
Snippets Groups Projects
Commit c0bbed43 authored by Howard Chu's avatar Howard Chu Committed by Quanah Gibson-Mount
Browse files

ITS#7146 fix prev commit

parent ed4c1024
No related branches found
No related tags found
No related merge requests found
......@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment