Initialize UBSAN mismatch data without relying on memset()
Some checks failed
Builds / ExectOS (amd64) (push) Failing after -59m51s
Builds / ExectOS (i686) (push) Failing after 21s

This commit is contained in:
Aiken Harris 2025-07-09 10:40:15 +02:00 committed by CodingWorkshop Signing Team
parent 6729d72322
commit dcb0b8fb4b
Signed by: CodingWorkshop Signing Team
GPG Key ID: 6DC88369C82795D2

View File

@ -1035,13 +1035,13 @@ VOID
__ubsan_handle_type_mismatch_v1(IN PKUBSAN_TYPE_MISMATCH_DATA_V1 Data, __ubsan_handle_type_mismatch_v1(IN PKUBSAN_TYPE_MISMATCH_DATA_V1 Data,
IN ULONG_PTR Pointer) IN ULONG_PTR Pointer)
{ {
KUBSAN_TYPE_MISMATCH_DATA MismatchData;
/* Prepare UBSAN type mismatch data in old format */ /* Prepare UBSAN type mismatch data in old format */
KUBSAN_TYPE_MISMATCH_DATA MismatchData = { MismatchData.Alignment = 1UL << Data->LogAlignment;
.Location = Data->Location, MismatchData.Location = Data->Location;
.Type = Data->Type, MismatchData.Type = Data->Type;
.Alignment = 1UL << Data->LogAlignment, MismatchData.TypeCheckKind = Data->TypeCheckKind;
.TypeCheckKind = Data->TypeCheckKind,
};
/* Call UBSAN type mismatch handler */ /* Call UBSAN type mismatch handler */
KepHandleUbsanTypeMismatch(&MismatchData, Pointer); KepHandleUbsanTypeMismatch(&MismatchData, Pointer);