X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Fliblmdb%2Fmdb.c;h=acb0e449f5dd56cba824dfe6b068ab5bb59fd101;hb=ba45e0c05aee867ac1d8240eeb013d37487bb146;hp=fe651509f8a1debc766c95fdfeb8a4a48806f677;hpb=5cdde0c5b76e2bc7378bf180263317966974bf13;p=openldap diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c index fe651509f8..acb0e449f5 100644 --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -7076,6 +7076,12 @@ mdb_xcursor_init1(MDB_cursor *mc, MDB_node *node) mx->mx_db.md_flags |= MDB_INTEGERKEY; } } +#if UINT_MAX < SIZE_MAX + if (mc->mc_dbx->md_dcmp == mdb_cmp_int && mx->mx_db.md_pad == sizeof(size_t)) { + mc->mc_dbx->md_dcmp = mdb_cmp_clong; + mx->mx_dbx.md_cmp = mdb_cmp_clong; + } +#endif DPRINTF(("Sub-db -%u root page %"Z"u", mx->mx_cursor.mc_dbi, mx->mx_db.md_root)); mx->mx_dbflag = DB_VALID|DB_DIRTY; /* DB_DIRTY guides mdb_cursor_touch */