r13129: fix the memory hierachie
authorStefan Metzmacher <metze@samba.org>
Wed, 25 Jan 2006 12:19:49 +0000 (12:19 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:51:28 +0000 (13:51 -0500)
metze
(This used to be commit 19205b8d89d3d7e99a65938f59412e0c4e8ac5fe)

source4/ntvfs/cifs/vfs_cifs.c
source4/ntvfs/ipc/vfs_ipc.c
source4/ntvfs/nbench/vfs_nbench.c
source4/ntvfs/simple/vfs_simple.c
source4/ntvfs/unixuid/vfs_unixuid.c

index 412af07aa2e9abfa7ecaae3d1cd61c8cc4b46628..138c9d566ff90dd409165bfdd3d59f4c1d89f8b0 100644 (file)
@@ -93,7 +93,7 @@ static NTSTATUS cvfs_connect(struct ntvfs_module_context *ntvfs,
 
        machine_account = lp_parm_bool(req->tcon->service, "cifs", "use_machine_account", False);
 
-       private = talloc(req->tcon, struct cvfs_private);
+       private = talloc(ntvfs, struct cvfs_private);
        if (!private) {
                return NT_STATUS_NO_MEMORY;
        }
@@ -178,6 +178,7 @@ static NTSTATUS cvfs_disconnect(struct ntvfs_module_context *ntvfs,
        struct cvfs_private *private = ntvfs->private_data;
 
        talloc_free(private);
+       ntvfs->private_data = NULL;
 
        return NT_STATUS_OK;
 }
index 7eb9250eb21e921ace3da34c870a2146ddbea3ec..dd7994c1fb851c04c2b8bd584044064eff1ad79f 100644 (file)
@@ -87,7 +87,7 @@ static NTSTATUS ipc_connect(struct ntvfs_module_context *ntvfs,
        NT_STATUS_HAVE_NO_MEMORY(tcon->dev_type);
 
        /* prepare the private state for this connection */
-       private = talloc(tcon, struct ipc_private);
+       private = talloc(ntvfs, struct ipc_private);
        NT_STATUS_HAVE_NO_MEMORY(private);
 
        ntvfs->private_data = private;
index 3c95621694ba239943efca8eb45e7e6262a256bc..e88adbafcc683bf24d3c37f08127469cc8982c57 100644 (file)
@@ -99,7 +99,7 @@ static NTSTATUS nbench_connect(struct ntvfs_module_context *ntvfs,
        NTSTATUS status;
        char *logname = NULL;
 
-       nprivates = talloc(req->tcon, struct nbench_private);
+       nprivates = talloc(ntvfs, struct nbench_private);
        if (!nprivates) {
                return NT_STATUS_NO_MEMORY;
        }
index 1198cafbe915b4832064a52e686a9c56b0295b48..ad06a9504160af51dbf7167ba9506d4b3a05a338 100644 (file)
@@ -54,10 +54,10 @@ static NTSTATUS svfs_connect(struct ntvfs_module_context *ntvfs,
        struct smbsrv_tcon *tcon = req->tcon;
        struct svfs_private *private;
 
-       private = talloc(tcon, struct svfs_private);
+       private = talloc(ntvfs, struct svfs_private);
 
        private->next_search_handle = 0;
-       private->connectpath = talloc_strdup(tcon, lp_pathname(tcon->service));
+       private->connectpath = talloc_strdup(private, lp_pathname(tcon->service));
        private->open_files = NULL;
        private->search = NULL;
 
index 886ace819e25d1e8626c152f2ac4fbcd93c676cc..df627bd2d17f7c129b8e8437288ce9661fc1fce7 100644 (file)
@@ -207,7 +207,7 @@ static NTSTATUS unixuid_connect(struct ntvfs_module_context *ntvfs,
        struct unixuid_private *private;
        NTSTATUS status;
 
-       private = talloc(req->tcon, struct unixuid_private);
+       private = talloc(ntvfs, struct unixuid_private);
        if (!private) {
                return NT_STATUS_NO_MEMORY;
        }
@@ -239,6 +239,7 @@ static NTSTATUS unixuid_disconnect(struct ntvfs_module_context *ntvfs,
        NTSTATUS status;
 
        talloc_free(private);
+       ntvfs->private_data = NULL;
 
        status = ntvfs_next_disconnect(ntvfs, tcon);