summaryrefslogtreecommitdiff
path: root/source3/smbd/smbXsrv_open.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd/smbXsrv_open.c')
-rw-r--r--source3/smbd/smbXsrv_open.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source3/smbd/smbXsrv_open.c b/source3/smbd/smbXsrv_open.c
index 99ca2abc320..e32602c7d61 100644
--- a/source3/smbd/smbXsrv_open.c
+++ b/source3/smbd/smbXsrv_open.c
@@ -727,7 +727,7 @@ static NTSTATUS smbXsrv_open_global_store(struct smbXsrv_open_global0 *global)
global_blob.seqnum += 1;
global_blob.info.info0 = global;
- ndr_err = ndr_push_struct_blob(&blob, global->db_rec, &global_blob,
+ ndr_err = ndr_push_struct_blob(&blob, talloc_tos(), &global_blob,
(ndr_push_flags_fn_t)ndr_push_smbXsrv_open_globalB);
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
status = ndr_map_error2ntstatus(ndr_err);
@@ -740,6 +740,7 @@ static NTSTATUS smbXsrv_open_global_store(struct smbXsrv_open_global0 *global)
val = make_tdb_data(blob.data, blob.length);
status = dbwrap_record_store(global->db_rec, val, TDB_REPLACE);
+ TALLOC_FREE(blob.data);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(1,("smbXsrv_open_global_store: key '%s' store - %s\n",
tdb_data_dbg(key),