Skip to content

Commit 28facae

Browse files
authored
Fix Sve test templates to avoid buffer overrun (#113113)
* Fix SveLoadVectorFirstFaultingTest.template * fix SveLoadVectorMaskedTest.template
1 parent 4c6a706 commit 28facae

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

src/tests/JIT/HardwareIntrinsics/Arm/Shared/SveLoadVectorFirstFaultingTest.template

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -302,8 +302,8 @@ namespace JIT.HardwareIntrinsics.Arm
302302
{Op2BaseType}[] inArray = new {Op2BaseType}[RetElementCount];
303303
{RetBaseType}[] outArray = new {RetBaseType}[RetElementCount];
304304

305-
Unsafe.CopyBlockUnaligned(ref Unsafe.As<{Op2BaseType}, byte>(ref inArray[0]), ref Unsafe.AsRef<byte>(firstOp), (uint)Unsafe.SizeOf<{RetVectorType}<{Op2BaseType}>>());
306-
Unsafe.CopyBlockUnaligned(ref Unsafe.As<{RetBaseType}, byte>(ref outArray[0]), ref Unsafe.AsRef<byte>(result), (uint)Unsafe.SizeOf<{RetVectorType}<{RetBaseType}>>());
305+
Unsafe.CopyBlockUnaligned(ref Unsafe.As<{Op2BaseType}, byte>(ref inArray[0]), ref Unsafe.AsRef<byte>(firstOp), (uint)(sizeof({Op2BaseType}) * RetElementCount));
306+
Unsafe.CopyBlockUnaligned(ref Unsafe.As<{RetBaseType}, byte>(ref outArray[0]), ref Unsafe.AsRef<byte>(result), (uint)(sizeof({RetBaseType}) * RetElementCount));
307307

308308
ValidateResult(inArray, outArray, method);
309309
}

src/tests/JIT/HardwareIntrinsics/Arm/Shared/SveLoadVectorMaskedTest.template

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,8 +263,8 @@ namespace JIT.HardwareIntrinsics.Arm
263263
{RetBaseType}[] outArray = new {RetBaseType}[RetElementCount];
264264

265265
Unsafe.WriteUnaligned(ref Unsafe.As<{Op1BaseType}, byte>(ref maskArray[0]), firstOp);
266-
Unsafe.CopyBlockUnaligned(ref Unsafe.As<{Op2BaseType}, byte>(ref inArray[0]), ref Unsafe.AsRef<byte>(secondOp), (uint)Unsafe.SizeOf<{RetVectorType}<{Op2BaseType}>>());
267-
Unsafe.CopyBlockUnaligned(ref Unsafe.As<{RetBaseType}, byte>(ref outArray[0]), ref Unsafe.AsRef<byte>(result), (uint)Unsafe.SizeOf<{RetVectorType}<{RetBaseType}>>());
266+
Unsafe.CopyBlockUnaligned(ref Unsafe.As<{Op2BaseType}, byte>(ref inArray[0]), ref Unsafe.AsRef<byte>(secondOp), (uint)(sizeof({Op2BaseType}) * Op2ElementCount));
267+
Unsafe.CopyBlockUnaligned(ref Unsafe.As<{RetBaseType}, byte>(ref outArray[0]), ref Unsafe.AsRef<byte>(result), (uint)(sizeof({RetBaseType}) * RetElementCount));
268268

269269
ValidateResult(maskArray, inArray, outArray, method);
270270
}

0 commit comments

Comments
 (0)