Skip to content

Commit 8356e5a

Browse files
committed
Guard Amiga hill sprite copy against short buffers
1 parent 24aa8e7 commit 8356e5a

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

Source/Amiga/Graphics_Amiga.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,13 @@ void cGraphics_Amiga::Load_Hill_Data() {
292292
mImageHillSprites = Decode_Image("hills", 64);
293293
mImageHillSprites.mData->resize(mImageHillBackground.GetHeader()->ScreenSize() * (mImageHillBackground.GetHeader()->mPlanes + 30));
294294

295+
// Legacy code below writes to fixed offsets in the hill sprite buffer.
296+
// Ensure the decoded image is large enough before using those offsets.
297+
constexpr size_t kHillSpriteMinSize = 0x42A0E;
298+
if (mImageHillSprites.mData->size() < kHillSpriteMinSize) {
299+
return;
300+
}
301+
295302
// A5A7E
296303
uint8* a0 = mImageHillSprites.mData->data() + (29 * 40);
297304
uint8* a1 = mImageHillSprites.mData->data() + 0x390EE + 0x3E8;

0 commit comments

Comments
 (0)