X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ffiles.c;fp=src%2Ffiles.c;h=45f4097f85f734dcb3645116b2bd616285a48726;hp=09e3b4d2256fcfe7d7cee4b6c655070f57aee90b;hb=bfa029317730e611f3f7a687ad679ac92ece898f;hpb=f8666bcc4d1da29f6fd026183d900d7118755f33 diff --git a/src/files.c b/src/files.c index 09e3b4d2..45f4097f 100644 --- a/src/files.c +++ b/src/files.c @@ -3355,6 +3355,10 @@ static int LoadLevel_CUSX(File *file, int chunk_size, struct LevelInfo *level) while (!checkEndOfFile(file)) { + // level file might contain invalid change page number + if (xx_current_change_page >= ei->num_change_pages) + break; + struct ElementChangeInfo *change = &ei->change_page[xx_current_change_page]; xx_change = *change; // copy change data into temporary buffer