smbXsrv_session: Use talloc_tos() for pushing smbXsrv_session_globalB
authorVolker Lendecke <vl@samba.org>
Thu, 8 Feb 2024 11:47:07 +0000 (12:47 +0100)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 9 Apr 2024 22:52:38 +0000 (22:52 +0000)
Use the toplevel talloc pool, align with 0c709cb6b70.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source3/smbd/smbXsrv_session.c

index 2d686dfc1750825aa944ff262e86672b15eb055b..03c54b27997916df6d709fe41f5747eb22389ef6 100644 (file)
@@ -943,8 +943,11 @@ static NTSTATUS smbXsrv_session_global_store(struct smbXsrv_session_global0 *glo
        }
        global_blob.seqnum += 1;
 
-       ndr_err = ndr_push_struct_blob(&blob, global->db_rec, &global_blob,
-                       (ndr_push_flags_fn_t)ndr_push_smbXsrv_session_globalB);
+       ndr_err = ndr_push_struct_blob(
+               &blob,
+               talloc_tos(),
+               &global_blob,
+               (ndr_push_flags_fn_t)ndr_push_smbXsrv_session_globalB);
        if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
                status = ndr_map_error2ntstatus(ndr_err);
                DBG_WARNING("key '%s' ndr_push - %s\n",
@@ -956,6 +959,7 @@ static NTSTATUS smbXsrv_session_global_store(struct smbXsrv_session_global0 *glo
 
        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)) {
                DBG_WARNING("key '%s' store - %s\n",
                            tdb_data_dbg(key),