From dcb0b8fb4b9fee6f671def6c959e1fded38cc63d Mon Sep 17 00:00:00 2001 From: Aiken Harris Date: Wed, 9 Jul 2025 10:40:15 +0200 Subject: [PATCH] Initialize UBSAN mismatch data without relying on memset() --- xtoskrnl/ke/kubsan.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/xtoskrnl/ke/kubsan.c b/xtoskrnl/ke/kubsan.c index db7b538..5aa11ad 100644 --- a/xtoskrnl/ke/kubsan.c +++ b/xtoskrnl/ke/kubsan.c @@ -1035,13 +1035,13 @@ VOID __ubsan_handle_type_mismatch_v1(IN PKUBSAN_TYPE_MISMATCH_DATA_V1 Data, IN ULONG_PTR Pointer) { + KUBSAN_TYPE_MISMATCH_DATA MismatchData; + /* Prepare UBSAN type mismatch data in old format */ - KUBSAN_TYPE_MISMATCH_DATA MismatchData = { - .Location = Data->Location, - .Type = Data->Type, - .Alignment = 1UL << Data->LogAlignment, - .TypeCheckKind = Data->TypeCheckKind, - }; + MismatchData.Alignment = 1UL << Data->LogAlignment; + MismatchData.Location = Data->Location; + MismatchData.Type = Data->Type; + MismatchData.TypeCheckKind = Data->TypeCheckKind; /* Call UBSAN type mismatch handler */ KepHandleUbsanTypeMismatch(&MismatchData, Pointer);