diff --git a/servers/slapd/back-mdb/tools.c b/servers/slapd/back-mdb/tools.c index b444e3a53f8e1c0dae9ca8adb23fc39e4c18af3f..6aae331484f76c33499849bf2ebf493667d09300 100644 --- a/servers/slapd/back-mdb/tools.c +++ b/servers/slapd/back-mdb/tools.c @@ -231,6 +231,9 @@ next:; previd = *(ID *)key.mv_data; id = previd; + if ( !data.mv_size ) + goto next; + if ( tool_filter || tool_base ) { static Operation op = {0}; static Opheader ohdr = {0}; @@ -326,6 +329,10 @@ mdb_tool_entry_get_int( BackendDB *be, ID id, Entry **ep ) goto done; } } + if ( !data.mv_size ) { + rc = LDAP_NO_SUCH_OBJECT; + goto done; + } op.o_hdr = &ohdr; op.o_bd = be;