From 9b7145d2b0440bdf4f720824d52390c32000dc1e Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 May 2022 22:21:37 -0500 Subject: [PATCH] harden wavetable loader --- src/engine/engine.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 812159e7..639712e5 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -1840,6 +1840,9 @@ bool DivEngine::addWaveFromFile(const char* path, bool addRaw) { // read as .dmw reader.seek(0,SEEK_SET); int len=reader.readI(); + if (len<=0 || len>256) { + throw EndOfFileException(&reader,reader.size()); + } wave->max=(unsigned char)reader.readC(); if (wave->max==255) { // new wavetable format unsigned char waveVersion=reader.readC();