Verify RunConfiguration is valid before running (flutter/engine#6922)

In cases where a valid IsolateConfiguration cannot be inferred, (e.g.,
settings.kernel_list_asset is missing) RunConfiguration can be created
with a null IsolateConfiguration. In such cases, bail out early with
kInvalidSettings.

Also adds a redundant paranoid check to EmbedderEngine::Run.
This commit is contained in:
Chris Bracken
2018-12-16 14:07:42 -08:00
committed by GitHub
parent 0e73c0f16d
commit fff4720f2c
2 changed files with 4 additions and 1 deletions

View File

@@ -384,6 +384,9 @@ FlutterResult FlutterEngineRun(size_t version,
run_configuration.AddAssetResolver(
std::make_unique<blink::DirectoryAssetBundle>(fml::OpenDirectory(
settings.assets_path.c_str(), false, fml::FilePermission::kRead)));
if (!run_configuration.IsValid()) {
return kInvalidArguments;
}
if (!embedder_engine->Run(std::move(run_configuration))) {
return kInvalidArguments;

View File

@@ -47,7 +47,7 @@ bool EmbedderEngine::NotifyDestroyed() {
}
bool EmbedderEngine::Run(RunConfiguration run_configuration) {
if (!IsValid()) {
if (!IsValid() || !run_configuration.IsValid()) {
return false;
}