X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fcoreparse.c;h=e7dbdfd153a46f7e757045b5e9ecaa252a1c7f5d;hb=2e47ed527bdcb76cf5eb52f66cc08f4fb0a0041d;hp=4b4998f033e429a9257fae639d2d85439556db02;hpb=bd455348d39bee562296741689882dcb97c46ba3;p=sbcl.git diff --git a/src/runtime/coreparse.c b/src/runtime/coreparse.c index 4b4998f..e7dbdfd 100644 --- a/src/runtime/coreparse.c +++ b/src/runtime/coreparse.c @@ -349,7 +349,16 @@ load_core_file(char *file, os_vm_offset_t file_offset) size -= bytes_read; while (bytes_read) { bytes_read -= sizeof(long); - page_table[offset++].first_object_offset = data[i++]; + /* Ignore all zeroes. The size of the page table + * core entry was rounded up to os_vm_page_size + * during the save, and might now have more + * elements than the page table. + */ + if (data[i]) { + page_table[offset].first_object_offset = data[i]; + } + i++; + offset++; } }