diff --git a/src/6model/reprs/VMArray.c b/src/6model/reprs/VMArray.c index 8d63bf4af3..ee47269fb6 100644 --- a/src/6model/reprs/VMArray.c +++ b/src/6model/reprs/VMArray.c @@ -227,8 +227,9 @@ static void copy_to(PARROT_INTERP, STable *st, void *src, void *dest) { dest_body->elems = src_body->elems; dest_body->start = src_body->start; dest_body->ssize = src_body->ssize; - dest_body->slots = mem_sys_allocate(bytes); - memcpy(dest_body->slots, src_body->slots, bytes); + dest_body->slots = bytes? mem_sys_allocate(bytes) : NULL; + if(bytes) + memcpy(dest_body->slots, src_body->slots, bytes); } static void serialize(PARROT_INTERP, STable *st, void *data, SerializationWriter *writer) {