Index: services/catalog/entry.cc |
diff --git a/services/catalog/entry.cc b/services/catalog/entry.cc |
index 9734f92d3747d72ff660ff32d298e1dd86357504..9d477b13815913b53c69f5a9f72f2525d1156641 100644 |
--- a/services/catalog/entry.cc |
+++ b/services/catalog/entry.cc |
@@ -98,13 +98,21 @@ bool BuildCapabilities(const base::DictionaryValue& value, |
<< "capabilities dictionary."; |
return false; |
} |
+ shell::Interfaces interfaces; |
if (!ReadStringSetFromDictionary(*entry_value, |
Store::kCapabilities_InterfacesKey, |
- &spec.interfaces)) { |
+ &interfaces)) { |
LOG(ERROR) << "Entry::Deserialize: Invalid interfaces list in required " |
<< "capabilities dictionary."; |
return false; |
} |
+ if (interfaces.count("*") > 0) { |
+ LOG(ERROR) << "Entry::Deserializer: Wildcard not valid in interfaces " |
+ << "list."; |
+ return false; |
+ } |
+ spec.interfaces = interfaces; |
+ |
capabilities->required[it.key()] = spec; |
} |
} |