summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJooyung Han <jooyung@google.com>2020-06-20 19:38:21 +0900
committerAdrian DC <radian.dc@gmail.com>2020-12-30 02:00:17 +0100
commit2bc83fb8d9722522becfe092f31bc69bf162ca41 (patch)
tree5415b73abdde599f8b4d395f022ef4a0baedf016
parent0e0bfb7eac3faafb81709bde885589bc7156a1bc (diff)
Check `base` property before using it
OverrideModule's `base` property should point a valid module(OverridableModule). It should be checked before using it. Bug: 159503211 Test: add `override_apex` without `base` m emits error, not panic. Change-Id: I1d7c9395cc9a7461e317dd4b6ddbec3a9e68e9bf (cherry picked from commit 3851b0c1fe8e8ffd3d30b4b8a5289f39a2c98270)
-rw-r--r--android/override_module.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/android/override_module.go b/android/override_module.go
index 90ddf5049..6b246db41 100644
--- a/android/override_module.go
+++ b/android/override_module.go
@@ -223,6 +223,11 @@ var overrideBaseDepTag overrideBaseDependencyTag
// next phase.
func overrideModuleDepsMutator(ctx BottomUpMutatorContext) {
if module, ok := ctx.Module().(OverrideModule); ok {
+ base := String(module.getOverrideModuleProperties().Base)
+ if !ctx.OtherModuleExists(base) {
+ ctx.PropertyErrorf("base", "%q is not a valid module name", base)
+ return
+ }
// See if there's a prebuilt module that overrides this override module with prefer flag,
// in which case we call SkipInstall on the corresponding variant later.
ctx.VisitDirectDepsWithTag(PrebuiltDepTag, func(dep Module) {