diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-03-26 06:57:02 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-03-26 06:57:02 -0700 |
commit | dff74e03f74fd6fcc2bf31a063c1aa8b871a38ff (patch) | |
tree | 8e1d25e9f40929b6edfe30d6929297d1ba57a556 /vm.c | |
parent | 5c604c752e878066c7312eba6dd72d550ceb451f (diff) | |
download | txr-dff74e03f74fd6fcc2bf31a063c1aa8b871a38ff.tar.gz txr-dff74e03f74fd6fcc2bf31a063c1aa8b871a38ff.tar.bz2 txr-dff74e03f74fd6fcc2bf31a063c1aa8b871a38ff.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.
Diffstat (limited to 'vm.c')
-rw-r--r-- | vm.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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; |