Skip to content

Commit a5a21b1

Browse files
committed
Swift: Guard 'getCaptures' in fillClosureExpr
1 parent 8086ef4 commit a5a21b1

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

swift/extractor/translators/ExprTranslator.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,11 @@ codeql::ErrorExpr ExprTranslator::translateErrorExpr(const swift::ErrorExpr& exp
477477
void ExprTranslator::fillClosureExpr(const swift::AbstractClosureExpr& expr,
478478
codeql::ClosureExpr& entry) {
479479
entry.body = dispatcher.fetchLabel(expr.getBody());
480-
entry.captures = dispatcher.fetchRepeatedLabels(expr.getCaptureInfo().getCaptures());
480+
if (expr.getCaptureInfo().hasBeenComputed()) {
481+
entry.captures = dispatcher.fetchRepeatedLabels(expr.getCaptureInfo().getCaptures());
482+
} else {
483+
LOG_ERROR("Unable to get CaptureInfo");
484+
}
481485
CODEQL_EXPECT_OR(return, expr.getParameters(), "AbstractClosureExpr has null getParameters()");
482486
entry.params = dispatcher.fetchRepeatedLabels(*expr.getParameters());
483487
}

0 commit comments

Comments
 (0)