smbd: Use talloc_tos() for pushing smbXsrv_open_globalB
authorVolker Lendecke <vl@samba.org>
Wed, 4 Jan 2023 09:12:22 +0000 (10:12 +0100)
committerJeremy Allison <jra@samba.org>
Tue, 10 Jan 2023 00:28:37 +0000 (00:28 +0000)
Use the toplevel talloc pool

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/smbd/smbXsrv_open.c

index 99ca2abc3201ef0fd470013ab249080c8618f118..e32602c7d6139ad464180e4181baaf2e43b5ee90 100644 (file)
@@ -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),