From e8a70ff1794e941a6930c3d240af16a708b59339 Mon Sep 17 00:00:00 2001 From: tersec Date: Wed, 22 Mar 2023 22:05:20 +0100 Subject: [PATCH] don't access void* out of alignment in refc GC to avoid UB (#21560) --- lib/system/gc_common.nim | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/system/gc_common.nim b/lib/system/gc_common.nim index 54c51e7838..eb08845603 100644 --- a/lib/system/gc_common.nim +++ b/lib/system/gc_common.nim @@ -391,7 +391,6 @@ else: let regEnd = sp +% sizeof(registers) while sp <% regEnd: gcMark(gch, cast[PPointer](sp)[]) - gcMark(gch, cast[PPointer](sp +% sizeof(pointer) div 2)[]) sp = sp +% sizeof(pointer) # Make sure sp is word-aligned sp = sp and not (sizeof(pointer) - 1)