summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-03-26 06:57:02 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-03-26 06:57:02 -0700
commit4c854da3960272b1bd9a203242b099dc679bcbb7 (patch)
tree8e1d25e9f40929b6edfe30d6929297d1ba57a556
parentc30f0abf8e41b64645168e994c2e75e348726de9 (diff)
downloadtxr-4c854da3960272b1bd9a203242b099dc679bcbb7.tar.gz
txr-4c854da3960272b1bd9a203242b099dc679bcbb7.tar.bz2
txr-4c854da3960272b1bd9a203242b099dc679bcbb7.zip
vm: bugfix: faulty memcpy in closure.
* vm.c (vm_make_closure): Add missing scale factor to memcpy. This is the memcpy which relocates display frame contents from the stack to the frame.
-rw-r--r--vm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/vm.c b/vm.c
index f36652f0..2e42d211 100644
--- a/vm.c
+++ b/vm.c
@@ -244,7 +244,7 @@ static val vm_make_closure(struct vm *vm, int frsz)
val heap_vec = vector(vec, nil);
cdi->vec = heap_vec;
cdi->mem = heap_vec->v.vec;
- memcpy(heap_vec->v.vec, mem, c_num(vec));
+ memcpy(cdi->mem, mem, sizeof *cdi->mem * c_num(vec));
mut(closure);
*sdi = *cdi;
break;