Files
Nim/tests/objects/t20972.nim
ringabout 9bb7e53e7f fixes #22153; UB calling allocCStringArray([""]) with --mm:refc (#24529)
fixes #22153

It's a problem for refc because you cannot index a nil string: i.e.
`[""]` is `{((NimStringDesc*) NIM_NIL)}` which cannot be indexed
2024-12-11 21:02:24 +01:00

24 lines
588 B
Nim

discard """
matrix: "--mm:refc -d:release; --mm:orc -d:release"
"""
{.passC: "-fsanitize=undefined -fsanitize-undefined-trap-on-error -Wall -Wextra -pedantic -flto".}
{.passL: "-fsanitize=undefined -fsanitize-undefined-trap-on-error -flto".}
# bug #20972
type ForkedEpochInfo = object
case kind: bool
of true, false: discard
var info = ForkedEpochInfo(kind: true)
doAssert info.kind
info.kind = false
doAssert not info.kind
block: # bug #22153
discard allocCStringArray([""])
discard allocCStringArray(["1234"])
var s = "1245"
s.add "1"
discard allocCStringArray([s])