From 4ec9ea3d1aad7333ef34f2d95fcaf091d01484da Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Thu, 21 Apr 2022 19:06:02 +0200 Subject: [PATCH] MVC - ApiControllerBase : safeguard multi_sort in searchRecordsetBase() when non-existing column is passed ref : https://forum.opnsense.org/index.php?topic=28043.msg136169#msg136169 --- .../app/controllers/OPNsense/Base/ApiControllerBase.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php b/src/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php index 15522b151..384867d4b 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php @@ -84,10 +84,14 @@ class ApiControllerBase extends ControllerRoot $keys = array_keys($this->request->getPost('sort')); $order = $this->request->getPost('sort')[$keys[0]]; $keys = array_column($formatted, $keys[0]); - array_multisort($keys, $order == 'asc' ? SORT_ASC : SORT_DESC, $sort_flags, $formatted); + if (!empty($keys)) { + array_multisort($keys, $order == 'asc' ? SORT_ASC : SORT_DESC, $sort_flags, $formatted); + } } elseif (!empty($defaultSort)) { $keys = array_column($formatted, $defaultSort); - array_multisort($keys, SORT_ASC, $sort_flags, $formatted); + if (!empty($keys)) { + array_multisort($keys, SORT_ASC, $sort_flags, $formatted); + } } return [