forked from OSchip/llvm-project
Fix crash when an invalid URI is parsed and error handling is attempted
When you pass in a payload with an invalid URI in a build with assertions enabled, it will crash. Consuming the error from the failed URI parse prevents the error. The crash is caused by the [llvm::expected](https://llvm.org/doxygen/classllvm_1_1Expected.html) having protection around trying to deconstruct without consuming the error first. Reviewed By: kadircet Differential Revision: https://reviews.llvm.org/D99872
This commit is contained in:
parent
f37ea62e57
commit
43637c0dfe
|
@ -70,6 +70,7 @@ bool fromJSON(const llvm::json::Value &E, URIForFile &R, llvm::json::Path P) {
|
|||
if (auto S = E.getAsString()) {
|
||||
auto Parsed = URI::parse(*S);
|
||||
if (!Parsed) {
|
||||
consumeError(Parsed.takeError());
|
||||
P.report("failed to parse URI");
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue