[Scummvm-git-logs] scummvm master -> 341b12cc32cedf6696f6f39f3bfc1a5310210241
sev-
noreply at scummvm.org
Thu Mar 19 00:50:04 UTC 2026
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
f5e9f41099 VIDEO: DXA: Check boundaries when processing coded 13 motion vectors
341b12cc32 NEWS: Mention Sword2 DXA fix
Commit: f5e9f41099eaaf38d8606ee68b4b884ad2e2e939
https://github.com/scummvm/scummvm/commit/f5e9f41099eaaf38d8606ee68b4b884ad2e2e939
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2026-03-19T01:49:47+01:00
Commit Message:
VIDEO: DXA: Check boundaries when processing coded 13 motion vectors
It appears, that we shipped badly formatted videos and nobody
ever noticed it since 2007. I suppose, this is because we were just
silently allowing overwriting beyond screen surface.
Fixes bug #16601
Changed paths:
video/dxa_decoder.cpp
diff --git a/video/dxa_decoder.cpp b/video/dxa_decoder.cpp
index 80c56b4d77c..6568c028c97 100644
--- a/video/dxa_decoder.cpp
+++ b/video/dxa_decoder.cpp
@@ -402,6 +402,14 @@ void DXADecoder::DXAVideoTrack::decode13(int size) {
uint8 *b1 = (uint8 *)_frameBuffer2 + (sx+mx) + (sy+my) * _width;
for (int yc = 0; yc < BLOCKH / 2; yc++) {
+ if (sy + yc + my >= _curHeight) {
+ warning("DXA decode13: Motion vector (%d, %d) out of bounds (y direction)", mx, my);
+ break;
+ }
+ if (sx + BLOCKW / 2 + mx > _width) {
+ warning("DXA decode13: Motion vector (%d, %d) out of bounds (x direction)", mx, my);
+ break;
+ }
memcpy(b2, b1, BLOCKW / 2);
b1 += _width;
b2 += _width;
Commit: 341b12cc32cedf6696f6f39f3bfc1a5310210241
https://github.com/scummvm/scummvm/commit/341b12cc32cedf6696f6f39f3bfc1a5310210241
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2026-03-19T01:49:47+01:00
Commit Message:
NEWS: Mention Sword2 DXA fix
Changed paths:
NEWS.md
diff --git a/NEWS.md b/NEWS.md
index 3926cf1d668..a75a8243606 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -83,6 +83,9 @@ For a more comprehensive changelog of the latest experimental code, see:
SLUDGE:
- Fixed crash at start of Nathan's Second Chance game.
+ Sword2:
+ - Fixed crash with some DXA movies, particularly noticeable in intro.dxa.
+
Teenagent:
- Fixed 'could not locate language block' error when starting the Polish and
Russian versions.
More information about the Scummvm-git-logs
mailing list