assert( text );
        assert( text->bv_val );
-       assert( text->bv_val[0] == '\0' );
+       assert( text->bv_val[0] == '\0' );      /* overconservative? */
 
 #ifdef NEW_LOGGING
        LDAP_LOG ( TOOLS, ARGS, "=> bdb_tool_entry_put( %ld, \"%s\" )\n",
 
 
        assert( text );
        assert( text->bv_val );
-       assert( text->bv_val[0] == '\0' );
+       assert( text->bv_val[0] == '\0' );      /* overconservative? */
 
        if ( next_id_get( be, &id ) || id == NOID ) {
                strncpy( text->bv_val, "unable to get nextid", text->bv_len );
 
                Entry *e = str2entry( buf );
                struct berval bvtext;
 
+               /*
+                * Initialize text buffer
+                */
                bvtext.bv_len = textlen;
                bvtext.bv_val = textbuf;
+               bvtext.bv_val[0] = '\0';
 
                if( e == NULL ) {
                        fprintf( stderr, "%s: could not parse entry (line=%d)\n",