fix: assign reallocation result to list->elements in shrink path
When shrinking a list's capacity, wrenReallocate may return a different memory address. The previous code ignored the return value, leaving list->elements pointing to freed memory. This fix assigns the result back to list->elements and adds a regression test for grow/shrink behavior.
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
// This mostly tests that lists handle growing and shrinking their memory.
|
||||
var list = []
|
||||
for (i in 0..200) {
|
||||
list.add(i)
|
||||
}
|
||||
|
||||
for (i in 0..195) {
|
||||
list.removeAt(-1)
|
||||
}
|
||||
|
||||
IO.print(list) // expect: [0, 1, 2, 3, 4]
|
||||
Reference in New Issue
Block a user