diff options
author | Aditya Siram <aditya.siram@gmail.com> | 2021-09-25 07:17:41 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-25 14:17:41 +0200 |
commit | e3b19cbe52e0578de315d259fbb066bfe991a60f (patch) | |
tree | 6c0a6f2ca8d5c6d91c7d7ceaa999504a4c31f020 | |
parent | 8bdb98539570fdf3c41ee5509d5b90913ac1803e (diff) | |
download | Nim-e3b19cbe52e0578de315d259fbb066bfe991a60f.tar.gz |
fixes #18878 (#18883)
-rw-r--r-- | lib/core/typeinfo.nim | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/core/typeinfo.nim b/lib/core/typeinfo.nim index d66dc1898..18d2091b9 100644 --- a/lib/core/typeinfo.nim +++ b/lib/core/typeinfo.nim @@ -216,7 +216,8 @@ proc extendSeq*(x: Any) = when defined(gcDestructors): var s = cast[ptr NimSeqV2Reimpl](x.value) let elem = x.rawType.base - s.p = cast[ptr NimSeqPayloadReimpl](prepareSeqAdd(s.len, s.p, 1, elem.size, elem.align)) + if s.p == nil or s.p.cap < s.len+1: + s.p = cast[ptr NimSeqPayloadReimpl](prepareSeqAdd(s.len, s.p, 1, elem.size, elem.align)) inc s.len else: var y = cast[ptr PGenSeq](x.value)[] |