We've finished with the old node once we've copied the
authorJeremy Allison <jra@samba.org>
Wed, 19 Dec 2007 01:30:02 +0000 (17:30 -0800)
committerJeremy Allison <jra@samba.org>
Wed, 19 Dec 2007 01:30:02 +0000 (17:30 -0800)
keyval.
Jeremy.
(This used to be commit 39f3efbcc5fbdff1db1b12e5fc7368968f240993)

source3/lib/dbwrap_rbt.c

index 15d9b67414a389c5fcb21aa3959c134cc6e543ef..468b9405eee15a2da745772b45e370bc55e90441 100644 (file)
@@ -121,6 +121,10 @@ static NTSTATUS db_rbt_store(struct db_record *rec, TDB_DATA data, int flag)
        memcpy(this_key.dptr, rec->key.dptr, node->keysize);
        memcpy(this_val.dptr, data.dptr, node->valuesize);
 
+       if (del_old_keyval) {
+               SAFE_FREE(rec_priv->node);
+       }
+
        parent = NULL;
        p = &rec_priv->db_ctx->tree.rb_node;
 
@@ -157,10 +161,6 @@ static NTSTATUS db_rbt_store(struct db_record *rec, TDB_DATA data, int flag)
        rb_link_node(&node->rb_node, parent, p);
        rb_insert_color(&node->rb_node, &rec_priv->db_ctx->tree);
 
-       if (del_old_keyval) {
-               SAFE_FREE(rec_priv->node);
-       }
-
        return NT_STATUS_OK;
 }