init: account for "init.svc." prefix in IsValidName
For each service ${service} described in a .rc file, init creates the
property init.svc.${service}. This implies that service-name lengths
are bound by the maximum size of a property. This patch accounts for
the "init.svc." prefix and the maximum property-name length when
validating a service name.
Test: pass
Change-Id: I32dffa37363b41a8211f7644600b81973d30a3b2
Signed-off-by: Iliyan Malchev <malchev@google.com>
diff --git a/init/service.cpp b/init/service.cpp
index 22fb013..685befd 100644
--- a/init/service.cpp
+++ b/init/service.cpp
@@ -996,7 +996,7 @@
}
bool ServiceParser::IsValidName(const std::string& name) const {
- if (name.size() > 16) {
+ if (name.size() > PROP_NAME_MAX - sizeof("init.svc.")) {
return false;
}
for (const auto& c : name) {