~ chicken-core (chicken-5) 97849ffc17f20c2e035d6e672fe8871dc0487863


commit 97849ffc17f20c2e035d6e672fe8871dc0487863
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Wed Apr 16 15:34:34 2014 +0200
Commit:     Mario Domenech Goulart <mario.goulart@gmail.com>
CommitDate: Wed Apr 16 11:34:15 2014 -0300

    Make sure "ev-tstvec" does not hold on to a released object, because the storage may be re-used during GC.
    
    This would magically turn the released (and probably mangled) data into a heap-object again, should the heap be
    resized.
    
    Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
    Signed-off-by: Mario Domenech Goulart <mario.goulart@gmail.com>

diff --git a/tests/lolevel-tests.scm b/tests/lolevel-tests.scm
index 3a1dc70e..886a07ae 100644
--- a/tests/lolevel-tests.scm
+++ b/tests/lolevel-tests.scm
@@ -217,7 +217,10 @@
 (define ev-tstvec (object-evict tstvec))
 (assert (not (eq? tstvec ev-tstvec)))
 (assert (object-evicted? ev-tstvec))
-(object-release ev-tstvec)
+(set! ev-tstvec
+  (let ((old ev-tstvec))
+    (object-release old)
+    #f))
 
 ; object-evict-to-location
 
Trap