From 574e7c51f9e939130676c1079a690afb220236f0 Mon Sep 17 00:00:00 2001 From: Netkas Date: Mon, 26 Dec 2022 21:05:50 -0500 Subject: [PATCH] Added query validation to \RTEX\Objects\Program\Instructions > ArrayGet --- src/RTEX/Objects/Program/Instructions/ArrayGet.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/RTEX/Objects/Program/Instructions/ArrayGet.php b/src/RTEX/Objects/Program/Instructions/ArrayGet.php index f8ff5e0..73d6f12 100644 --- a/src/RTEX/Objects/Program/Instructions/ArrayGet.php +++ b/src/RTEX/Objects/Program/Instructions/ArrayGet.php @@ -5,8 +5,10 @@ namespace RTEX\Objects\Program\Instructions; use RTEX\Abstracts\InstructionType; + use RTEX\Abstracts\RegexPatterns; use RTEX\Classes\InstructionBuilder; use RTEX\Classes\Utilities; + use RTEX\Classes\Validate; use RTEX\Engine; use RTEX\Exceptions\EvaluationException; use RTEX\Exceptions\InstructionException; @@ -123,6 +125,8 @@ throw new KeyException(sprintf('Cannot read from non-array value of type %s', Utilities::getType($array))); if(!is_string($value) && !is_int($value)) throw new TypeException(sprintf('Cannot read from array with non-string value %s', Utilities::getType($value))); + if(!Validate::validateRegex($value, RegexPatterns::ArrayQuery)) + throw new KeyException(sprintf('Cannot read from array with invalid query %s', $value)); $keys = explode('.', $value); $result = $array;