]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
Minor fixes. Passes test008.
authorHoward Chu <hyc@openldap.org>
Fri, 26 Aug 2011 07:13:42 +0000 (00:13 -0700)
committerHoward Chu <hyc@openldap.org>
Fri, 26 Aug 2011 07:13:42 +0000 (00:13 -0700)
servers/slapd/back-mdb/attr.c
servers/slapd/back-mdb/dn2id.c
servers/slapd/back-mdb/init.c
servers/slapd/back-mdb/libmdb

index 47dae95e283bea11bc10c4adf89a446e0e66b6d4..8207d50a2f3e18e1f3ed9ea53658a57fee655bb5 100644 (file)
@@ -109,6 +109,8 @@ mdb_attr_dbs_open(
                                cr->msg, 0, 0 );
                        return rc;
                }
+       } else {
+               rc = 0;
        }
 
        flags = MDB_DUPSORT|MDB_DUPFIXED|MDB_INTEGERDUP;
index d080ec2e087878d90e7096647668dc8a7003943a..37100b8dbe4f140d5020fb944a7c09e557062ef5 100644 (file)
@@ -575,7 +575,7 @@ mdb_id2name(
        dptr = dn;
        nptr = ndn;
        while (id) {
-               int nrlen, rlen;
+               unsigned int nrlen, rlen;
                key.mv_data = &id;
                data.mv_size = 0;
                data.mv_data = "";
@@ -586,13 +586,14 @@ mdb_id2name(
                memcpy( &id, ptr, sizeof(ID) );
                d = data.mv_data;
                nrlen = (d->nrdnlen[0] << 8) | d->nrdnlen[1];
+               rlen = data.mv_size - sizeof(diskNode) - nrlen;
+               assert( nrlen < 1024 && rlen < 1024 );  /* FIXME: Sanity check */
                if (nptr > ndn) {
                        *nptr++ = ',';
                        *dptr++ = ',';
                }
                /* copy name and trailing NUL */
                memcpy( nptr, d->nrdn, nrlen+1 );
-               rlen = data.mv_size - sizeof(diskNode) - nrlen;
                memcpy( dptr, d->nrdn+nrlen+1, rlen+1 );
                nptr += nrlen;
                dptr += rlen;
index 5c8b75148cb9b09824d6655b1abbd945c05f34ea..f2e69a6ff6ee237f47e89c57c39ceaf0bc2dca8f 100644 (file)
@@ -394,7 +394,9 @@ mdb_back_initialize(
 
        bi->bi_extended = mdb_extended;
 
+#if 0  /* FIXME: Redundant, why does this exist? */
        bi->bi_chk_referrals = mdb_referrals;
+#endif
        bi->bi_operational = mdb_operational;
 
        bi->bi_has_subordinates = mdb_hasSubordinates;
index 957ee9186e997e92eb020cafb5fb2b28d45814e7..4f8f98f19d13644c74958af3a1af824952ef4795 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 957ee9186e997e92eb020cafb5fb2b28d45814e7
+Subproject commit 4f8f98f19d13644c74958af3a1af824952ef4795