smbd: Use GUID_to_ndr_buf() in smbXsrv_client_global_id_to_key()
authorVolker Lendecke <vl@samba.org>
Tue, 29 Sep 2020 08:17:29 +0000 (10:17 +0200)
committerJeremy Allison <jra@samba.org>
Fri, 2 Oct 2020 21:30:33 +0000 (21:30 +0000)
Avoid a talloc/free

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

index fcfa225048a259524d0010d1b6c8fbed56f22271..93e2509041df35022fb5b867b67d6b5cfbb917bf 100644 (file)
@@ -105,14 +105,13 @@ static TDB_DATA smbXsrv_client_global_id_to_key(const struct GUID *client_guid,
 {
        TDB_DATA key = { .dsize = 0, };
        NTSTATUS status;
-       DATA_BLOB b;
+       struct GUID_ndr_buf buf = { .buf = {0}, };
 
-       status = GUID_to_ndr_blob(client_guid, talloc_tos(), &b);
+       status = GUID_to_ndr_buf(client_guid, &buf);
        if (!NT_STATUS_IS_OK(status)) {
                return key;
        }
-       memcpy(key_buf, b.data, SMBXSRV_CLIENT_GLOBAL_TDB_KEY_SIZE);
-       data_blob_free(&b);
+       memcpy(key_buf, buf.buf, SMBXSRV_CLIENT_GLOBAL_TDB_KEY_SIZE);
 
        key = make_tdb_data(key_buf, SMBXSRV_CLIENT_GLOBAL_TDB_KEY_SIZE);