From 057aa6275d4bfcdf043d0181d5284ca2023faaf2 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 17 Sep 2020 10:54:09 -0400 Subject: [PATCH] service/sm: Slightly more efficient string name validation We can check the end of the string first for null-termination, rather than the beginning of the string. --- src/core/hle/service/sm/sm.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/hle/service/sm/sm.cpp b/src/core/hle/service/sm/sm.cpp index 2aedc93eab..9c1da361ba 100644 --- a/src/core/hle/service/sm/sm.cpp +++ b/src/core/hle/service/sm/sm.cpp @@ -27,11 +27,11 @@ void ServiceManager::InvokeControlRequest(Kernel::HLERequestContext& context) { } static ResultCode ValidateServiceName(const std::string& name) { - if (name.size() <= 0 || name.size() > 8) { + if (name.empty() || name.size() > 8) { LOG_ERROR(Service_SM, "Invalid service name! service={}", name); return ERR_INVALID_NAME; } - if (name.find('\0') != std::string::npos) { + if (name.rfind('\0') != std::string::npos) { LOG_ERROR(Service_SM, "A non null terminated service was passed"); return ERR_INVALID_NAME; }