fix: crash on invalid select-serial-port callback (#28618)

Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
This commit is contained in:
trop[bot]
2021-04-12 11:58:25 -04:00
committed by GitHub
parent 4efeaa090a
commit e100c22a26
2 changed files with 15 additions and 3 deletions

View File

@@ -124,9 +124,13 @@ void SerialChooserController::OnDeviceChosen(const std::string& port_id) {
std::find_if(ports_.begin(), ports_.end(), [&port_id](const auto& ptr) {
return ptr->token.ToString() == port_id;
});
chooser_context_->GrantPortPermission(requesting_origin_, embedding_origin_,
*it->get());
RunCallback(it->Clone());
if (it != ports_.end()) {
chooser_context_->GrantPortPermission(requesting_origin_,
embedding_origin_, *it->get());
RunCallback(it->Clone());
} else {
RunCallback(/*port=*/nullptr);
}
}
}