aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/shape.cpp
diff options
context:
space:
mode:
authorThanasis Antoniou2019-07-28 14:05:26 +0300
committerThanasis Antoniou2019-07-28 14:06:26 +0300
commit4b482b2d3e32e834eefb4d6af1a175f2b2ac75da (patch)
treeae4983425d7ae2c19796c6966070ce92248b9bfb /engines/bladerunner/shape.cpp
parent6884441f519fa95da54f9ea977c900321ab48701 (diff)
downloadscummvm-rg350-4b482b2d3e32e834eefb4d6af1a175f2b2ac75da.tar.gz
scummvm-rg350-4b482b2d3e32e834eefb4d6af1a175f2b2ac75da.tar.bz2
scummvm-rg350-4b482b2d3e32e834eefb4d6af1a175f2b2ac75da.zip
BLADERUNNER: prevent seg fault in ESPER
Also added CLIP to all getBasePtr() calls where it would seem appropriate/safer to do so
Diffstat (limited to 'engines/bladerunner/shape.cpp')
-rw-r--r--engines/bladerunner/shape.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/engines/bladerunner/shape.cpp b/engines/bladerunner/shape.cpp
index 2d01d1336a..de7a572fa6 100644
--- a/engines/bladerunner/shape.cpp
+++ b/engines/bladerunner/shape.cpp
@@ -116,7 +116,7 @@ void Shape::draw(Graphics::Surface &surface, int x, int y) const {
uint16 outColor = (uint16)surface.format.RGBToColor(r, g, b);
if (!a) {
- *(uint16 *)(surface.getBasePtr(dst_x + xi, dst_y + yi)) = outColor;
+ *(uint16 *)(surface.getBasePtr(CLIP(dst_x + xi, 0, surface.w - 1), CLIP(dst_y + yi, 0, surface.h - 1))) = outColor;
}
}
src_p += 2 * (_width - rect_w);