From: Howard Chu Date: Sat, 27 Aug 2011 21:41:05 +0000 (-0700) Subject: Support zero-length entries X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=738f31a83a6b62ecb8f219f6a4eedc37246cf265;p=openldap Support zero-length entries --- diff --git a/servers/slapd/back-mdb/id2entry.c b/servers/slapd/back-mdb/id2entry.c index 10c6c21648..04e528846d 100644 --- a/servers/slapd/back-mdb/id2entry.c +++ b/servers/slapd/back-mdb/id2entry.c @@ -122,13 +122,16 @@ int mdb_id2entry( rc = entry_header( &eh ); if ( rc ) return rc; - eh.bv.bv_len = eh.nvals * sizeof( struct berval ); - eh.bv.bv_val = ch_malloc( eh.bv.bv_len ); - rc = entry_decode(&eh, e); + if ( eh.nvals ) { + eh.bv.bv_len = eh.nvals * sizeof( struct berval ); + eh.bv.bv_val = ch_malloc( eh.bv.bv_len ); + rc = entry_decode(&eh, e); + } else { + *e = entry_alloc(); + } if( rc == 0 ) { (*e)->e_id = id; - (*e)->e_bv = eh.bv; (*e)->e_name.bv_val = NULL; (*e)->e_nname.bv_val = NULL; } else {