Skip to content

Commit 8b12f8c

Browse files
committed
Sema: Fix null pointer dereference in LazyStoragePropertyRequest::evaluate()
1 parent eec924b commit 8b12f8c

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

lib/Sema/TypeCheckStorage.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2996,9 +2996,10 @@ LazyStoragePropertyRequest::evaluate(Evaluator &evaluator,
29962996
addMemberToContextIfNeeded(PBD, VD->getDeclContext(), Storage);
29972997

29982998
// Make sure the original init is marked as subsumed.
2999-
auto *originalPBD = VD->getParentPatternBinding();
3000-
auto originalIndex = originalPBD->getPatternEntryIndexForVarDecl(VD);
3001-
originalPBD->setInitializerSubsumed(originalIndex);
2999+
if (auto *originalPBD = VD->getParentPatternBinding()) {
3000+
auto originalIndex = originalPBD->getPatternEntryIndexForVarDecl(VD);
3001+
originalPBD->setInitializerSubsumed(originalIndex);
3002+
}
30023003

30033004
return Storage;
30043005
}
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
// {"signature":"swift::LazyStoragePropertyRequest::evaluate(swift::Evaluator&, swift::VarDecl*) const"}
2-
// RUN: not --crash %target-swift-frontend -typecheck %s
2+
// RUN: not %target-swift-frontend -typecheck %s
33
class a {
44
lazy(b, c) {

0 commit comments

Comments
 (0)