Correctly talloc ctx->remote_path in libgpo (thanks Michael for the pointer).
authorGünther Deschner <gd@samba.org>
Tue, 8 Jan 2008 11:25:47 +0000 (12:25 +0100)
committerGünther Deschner <gd@samba.org>
Tue, 8 Jan 2008 11:26:25 +0000 (12:26 +0100)
Guenther
(This used to be commit 2ea57a76a6bc8f9c835818780fcc9324896d5c1f)

source3/libgpo/gpo_filesync.c

index 9f6557ef32e6cbbdf9eec8773b0fd427d28f512d..03d5286fae4c779937a8c792292c10cd15b43f01 100644 (file)
@@ -166,7 +166,7 @@ static void gpo_sync_func(const char *mnt,
                }
 
                old_nt_dir = ctx->remote_path;
-               ctx->remote_path = nt_dir;
+               ctx->remote_path = talloc_strdup(ctx->mem_ctx, nt_dir);
 
                old_unix_dir = ctx->local_path;
                ctx->local_path = talloc_strdup(ctx->mem_ctx, unix_dir);
@@ -174,7 +174,7 @@ static void gpo_sync_func(const char *mnt,
                ctx->mask = talloc_asprintf(ctx->mem_ctx,
                                        "%s\\*",
                                        nt_dir);
-               if (!ctx->local_path || !ctx->mask) {
+               if (!ctx->local_path || !ctx->mask || !ctx->remote_path) {
                        DEBUG(0,("gpo_sync_func: ENOMEM\n"));
                        return;
                }