Skip to content

Commit 81d3127

Browse files
cushonError Prone Team
authored andcommitted
Fix an NPE in SetUnrecognized
Fixes #4475 PiperOrigin-RevId: 653339273
1 parent bc33976 commit 81d3127

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

core/src/main/java/com/google/errorprone/bugpatterns/SetUnrecognized.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ public Description matchMethodInvocation(MethodInvocationTree tree, VisitorState
5050
}
5151
ExpressionTree arg = tree.getArguments().get(0);
5252
var argSymbol = getSymbol(arg);
53+
if (argSymbol == null) {
54+
return NO_MATCH;
55+
}
5356
if (!argSymbol.getSimpleName().contentEquals("UNRECOGNIZED")) {
5457
return NO_MATCH;
5558
}

core/src/test/java/com/google/errorprone/bugpatterns/SetUnrecognizedTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,19 @@ public void negative() {
5656
"}")
5757
.doTest();
5858
}
59+
60+
@Test
61+
public void negativeNotEnum() {
62+
compilationHelper
63+
.addSourceLines(
64+
"Test.java",
65+
"import com.google.errorprone.bugpatterns.proto.Proto3Test.TestProto3Enum;",
66+
"import com.google.errorprone.bugpatterns.proto.Proto3Test.TestProto3Message;",
67+
"class Test {",
68+
" void test() {",
69+
" TestProto3Message.newBuilder().setMyString(\"\");",
70+
" }",
71+
"}")
72+
.doTest();
73+
}
5974
}

0 commit comments

Comments
 (0)