[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#8117) Bugs related to key-size in lmdb and backend
- To: openldap-its@OpenLDAP.org
- Subject: (ITS#8117) Bugs related to key-size in lmdb and backend
- From: leo@yuriev.ru
- Date: Wed, 29 Apr 2015 12:45:05 +0000
- Auto-submitted: auto-generated (OpenLDAP-ITS)
Full_Name: Leo Yuriev
Version: 2.4-HEAD
OS: RHEL7
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (31.130.36.33)
1) LMDB: On 64-bit systems, in some cases mdb_cmp_int() could be called instead
of mdb_cmp_long(), when key.mv_size == 8.
To reproduce this is enough add an assertion-check for key.size == sizeof(int)
into mdb_cmp_int().A%A
2) LMDB: There is no any checking for invalid key-size for MDB_INTEGERKEY and
MDB_INTEGERDUP. Therefore, for example, mdb_cursor_put() accepts a key.size == 1
and so forth.
3) lmdb-backend: AttributeDescription->ad_type->sat_equality->smr_indexer()
could generate a 5-byte sized ks.s. I can just imagine what this can create a
many problems. For instance, when I adds the control for key size, it breaks
test017-syncreplication-refresh. But I am not tested more.
P.S.
It is a one more nice rebus from Howard ;)