From be4903a0fa29b9bb624eb31ad8737dd8bc785497 Mon Sep 17 00:00:00 2001 From: ZhuangYumin Date: Thu, 14 Dec 2023 06:36:38 +0000 Subject: [PATCH] fix: add check for log and report --- backend/src/engine.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/backend/src/engine.cpp b/backend/src/engine.cpp index 6d9b1f9..38e2425 100644 --- a/backend/src/engine.cpp +++ b/backend/src/engine.cpp @@ -392,11 +392,19 @@ std::vector BookStoreEngineClass::ExecuteShowFinance( std::vector BookStoreEngineClass::ExecuteLog( const std::string &cmd, std::stack> &login_stack) { + static std::basic_regex log_regex( + R"(^ *log *$)", std::regex_constants::optimize); + if(!std::regex_match(cmd, log_regex)) + return std::vector({"Invalid"}); return std::vector(); } std::vector BookStoreEngineClass::ExecuteReport( const std::string &cmd, std::stack> &login_stack) { + static std::basic_regex report_regex( + R"(^ *report( +finance| +employee) *$)", std::regex_constants::optimize); + if (!std::regex_match(cmd, report_regex)) + return std::vector({"Invalid"}); return std::vector(); } \ No newline at end of file