mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-20 20:20:56 +07:00
[java-inspections] IDEA-282916 Improve tainted analysis, support local methods
GitOrigin-RevId: 27871a7bbab9f093863d110711f7bb67c9b09fd9
This commit is contained in:
committed by
intellij-monorepo-bot
parent
8579ca0616
commit
4edcb035e7
@@ -0,0 +1,48 @@
|
||||
import org.checkerframework.checker.tainting.qual.Untainted;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
class SinkTest {
|
||||
|
||||
public void test(String string) {
|
||||
sink(<warning descr="Unknown string is used as safe parameter">string</warning>); //warn
|
||||
}
|
||||
|
||||
@Untainted
|
||||
public String returnDirty(String dirty) {
|
||||
return <warning descr="Unknown string is returned from safe method">dirty</warning>; //warn
|
||||
}
|
||||
|
||||
void sink(@Untainted String clear) {
|
||||
|
||||
}
|
||||
|
||||
void assignDirty(@Untainted String clear, String dirty) {
|
||||
clear = <warning descr="Unknown string is used as safe parameter">dirty</warning>; //warn
|
||||
}
|
||||
|
||||
@Untainted String dirty = <warning descr="Unknown string is used in a safe context">getFromStatic()</warning>; //warn
|
||||
|
||||
static List<String> list = new ArrayList<>();
|
||||
|
||||
private static String getFromStatic() {
|
||||
return list.get(0);
|
||||
}
|
||||
|
||||
@Untainted
|
||||
static String clear = "";
|
||||
|
||||
static void spoil(String dirty) {
|
||||
clear = <warning descr="Unknown string is used in a safe context">dirty</warning>; //warn
|
||||
}
|
||||
|
||||
static void testLocal(String dirty) {
|
||||
@Untainted String clean = <warning descr="Unknown string is assigned to safe variable">dirty</warning>; //warn
|
||||
}
|
||||
|
||||
static void testLocal2(String dirty) {
|
||||
@Untainted String clean = "";
|
||||
clean = <warning descr="Unknown string is assigned to safe variable">dirty</warning>; //warn
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user