s4:registry - "reg_key_del/add_abs": call "talloc_free" only on valid objects
authorMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Mon, 22 Mar 2010 21:38:45 +0000 (22:38 +0100)
committerMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Mon, 22 Mar 2010 21:38:45 +0000 (22:38 +0100)
source4/lib/registry/util.c

index 91d1095f4c3eb09c644cf26557303ac46ea13b35..456a9d355e726ae0aa6882e92a1aabf9ab06a05d 100644 (file)
@@ -248,10 +248,10 @@ WERROR reg_key_del_abs(TALLOC_CTX *mem_ctx, struct registry_context *ctx,
        error = get_abs_parent(mem_ctx, ctx, path, &parent, &n);
        if (W_ERROR_IS_OK(error)) {
                error = reg_key_del(mem_ctx, parent, n);
-       }
 
-       talloc_free(parent);
-       talloc_free(n);
+               talloc_free(parent);
+               talloc_free(n);
+       }
 
        return error;
 }
@@ -275,10 +275,10 @@ WERROR reg_key_add_abs(TALLOC_CTX *mem_ctx, struct registry_context *ctx,
        if (W_ERROR_IS_OK(error)) {
                error = reg_key_add_name(mem_ctx, parent, n, NULL, sec_desc,
                                         result);
-       }
 
-       talloc_free(parent);
-       talloc_free(n);
+               talloc_free(parent);
+               talloc_free(n);
+       }
 
        return error;
 }