From c4fabb618248e38a07418bb566c755e9c8ba0e8f Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Fri, 31 May 2024 13:39:45 +0900 Subject: [PATCH] Fix type error when third-party program passes array into getExtraKeys() or getExtraVars() #2355 --- modules/document/document.model.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/document/document.model.php b/modules/document/document.model.php index a3c2932da..f5e351d8d 100644 --- a/modules/document/document.model.php +++ b/modules/document/document.model.php @@ -362,11 +362,12 @@ class DocumentModel extends Document */ public static function getExtraKeys($module_srl) { - if(!$module_srl) + if (!$module_srl || !is_scalar($module_srl)) { return []; } + $module_srl = (int)$module_srl; if(!isset($GLOBALS['XE_EXTRA_KEYS'][$module_srl])) { $keys = Rhymix\Framework\Cache::get("site_and_module:module_document_extra_keys:$module_srl"); @@ -445,11 +446,12 @@ class DocumentModel extends Document */ public static function getExtraVars($module_srl, $document_srl) { - if(!$document_srl) + if (!$document_srl || !is_scalar($document_srl)) { return []; } + $document_srl = (int)$document_srl; if(!isset($GLOBALS['XE_EXTRA_VARS'][$document_srl])) { self::getDocument($document_srl);