Merge "libmodprobe: Fail when modules.dep lacks colon" am: 8013cc3d85 am: a9e131f50b

Original change: https://android-review.googlesource.com/c/platform/system/core/+/1465891

Change-Id: Iadf3a6927ca45acb3dccfacc80b589f7fd2d272a
This commit is contained in:
Treehugger Robot 2020-10-20 18:12:29 +00:00 committed by Automerger Merge Worker
commit a29e1f0fac
2 changed files with 14 additions and 0 deletions

View file

@ -66,6 +66,7 @@ bool Modprobe::ParseDepCallback(const std::string& base_path,
deps.emplace_back(prefix + args[0].substr(0, pos));
} else {
LOG(ERROR) << "dependency lines must start with name followed by ':'";
return false;
}
// Remaining items are dependencies of our module

View file

@ -179,3 +179,16 @@ TEST(libmodprobe, Test) {
m.EnableBlocklist(true);
EXPECT_FALSE(m.LoadWithAliases("test4", true));
}
TEST(libmodprobe, ModuleDepLineWithoutColonIsSkipped) {
TemporaryDir dir;
auto dir_path = std::string(dir.path);
ASSERT_TRUE(android::base::WriteStringToFile(
"no_colon.ko no_colon.ko\n", dir_path + "/modules.dep", 0600, getuid(), getgid()));
kernel_cmdline = "";
test_modules = {dir_path + "/no_colon.ko"};
Modprobe m({dir.path});
EXPECT_FALSE(m.LoadWithAliases("no_colon", true));
}