From cf2daee37147ff87387dc835f381afababae287d Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Mon, 30 Jul 2018 18:04:19 +0200 Subject: [PATCH] Fix getCanvasTileAreaPoly ArrayOutOfBounds Safe-check tile settings size to prevent array out of bounds exception. Fixes #4579 Signed-off-by: Tomas Slusny --- runelite-api/src/main/java/net/runelite/api/Perspective.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/Perspective.java b/runelite-api/src/main/java/net/runelite/api/Perspective.java index ac4e330afc..3b07cb8243 100644 --- a/runelite-api/src/main/java/net/runelite/api/Perspective.java +++ b/runelite-api/src/main/java/net/runelite/api/Perspective.java @@ -328,6 +328,11 @@ public class Perspective final int sceneX = localLocation.getSceneX(); final int sceneY = localLocation.getSceneY(); + if (sceneX < 0 || sceneY < 0 || sceneX >= SCENE_SIZE || sceneY >= SCENE_SIZE) + { + return null; + } + int tilePlane = plane; if (plane < Constants.MAX_Z - 1 && (tileSettings[1][sceneX][sceneY] & TILE_FLAG_BRIDGE) == TILE_FLAG_BRIDGE) {