X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2Ffile.c;h=8467cbf03877ab770470259a6519c8841571e89c;hb=30eb586d06bc4d1ee7388dced1c20e530292aa93;hp=bd1a0fa0833ac43be47f3bf8ee0bd262719d7d06;hpb=68907af560a253c727564b478d38eb0408ce0389;p=rocksndiamonds.git diff --git a/src/game_sp/file.c b/src/game_sp/file.c index bd1a0fa0..8467cbf0 100644 --- a/src/game_sp/file.c +++ b/src/game_sp/file.c @@ -7,13 +7,13 @@ /* functions for loading Supaplex level */ /* ------------------------------------------------------------------------- */ -void setTapeInfoToDefaults_SP() +static void setTapeInfoToDefaults_SP(void) { native_sp_level.demo.is_available = FALSE; native_sp_level.demo.length = 0; } -void setLevelInfoToDefaults_SP() +void setLevelInfoToDefaults_SP(void) { LevelInfoType *header = &native_sp_level.header; char *empty_title = "-------- EMPTY --------"; @@ -58,7 +58,7 @@ void setLevelInfoToDefaults_SP() setTapeInfoToDefaults_SP(); } -void copyInternalEngineVars_SP() +void copyInternalEngineVars_SP(void) { int count; int i, x, y; @@ -257,6 +257,10 @@ static void LoadNativeLevelFromFileStream_SP(File *file, int width, int height, break; } + if (i >= SP_MAX_TAPE_LEN) + Error(ERR_WARN, "SP demo truncated: size exceeds maximum SP demo size %d", + SP_MAX_TAPE_LEN); + native_sp_level.demo.length = i; native_sp_level.demo.is_available = (native_sp_level.demo.length > 0); }