r22792: only don't free on success
authorStefan Metzmacher <metze@samba.org>
Fri, 11 May 2007 10:13:10 +0000 (10:13 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:52:18 +0000 (14:52 -0500)
metze

source/wrepl_server/wrepl_apply_records.c

index 033657987ef3302789da65aa9194efbd31da481c..a16817e6ff6adafda33aef801b54cf4ce8513be0 100644 (file)
@@ -1012,11 +1012,14 @@ static void r_do_challenge_handler(struct irpc_request *ireq)
        }
 
        if (!old_is_subset) {
-               r_do_late_release_demand(state);
+               status = r_do_late_release_demand(state);
                /* 
-                * don't free state here, because we pass it down,
+                * only free state on error, because we pass it down,
                 * and r_do_late_release_demand() will free it
                 */
+               if (!NT_STATUS_IS_OK(status)) {
+                       talloc_free(state);
+               }
                return;
        }