From 8058c03992396aca583105eb3b543e3992fdcbcc Mon Sep 17 00:00:00 2001 From: Guillaume Date: Thu, 14 May 2026 23:19:02 +0200 Subject: [PATCH] :zap: Use string comparison over regex - Removes incorrect regex analysis - Removes potential regex DoS --- src/OrderByAnalyzer.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/OrderByAnalyzer.php b/src/OrderByAnalyzer.php index 15da217d..3c9bfb7c 100644 --- a/src/OrderByAnalyzer.php +++ b/src/OrderByAnalyzer.php @@ -132,8 +132,12 @@ private function analyzeOrderByNoCache(string $orderBy): array */ private function trimDirection(string $sql): string { - preg_match('/^(.*)(\s+(DESC|ASC|))*$/Ui', $sql, $matches); + if (str_ends_with($sql, ' ASC')) { + $sql = substr($sql, 0, -4); + } elseif (str_ends_with($sql, ' DESC')) { + $sql = substr($sql, 0, -5); + } - return $matches[1]; + return rtrim($sql, " \t\r\n"); } }