diff options
-rw-r--r-- | init/host_init_verifier.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/init/host_init_verifier.cpp b/init/host_init_verifier.cpp index 3e510e72c..7e93b448c 100644 --- a/init/host_init_verifier.cpp +++ b/init/host_init_verifier.cpp @@ -103,6 +103,14 @@ passwd* getpwnam(const char* login) { // NOLINT: implementing bad function. } } + unsigned int oem_uid; + if (sscanf(login, "oem_%u", &oem_uid) == 1) { + snprintf(static_name, sizeof(static_name), "%s", login); + static_passwd.pw_uid = oem_uid; + static_passwd.pw_gid = oem_uid; + return &static_passwd; + } + errno = ENOENT; return nullptr; } |