Commit 1a985d4
committed
Fix a bug with string concat handling: Make sure to not destroy taints in certain situations
In cases like
```
tainted = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(tainted, tainted2) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001");
```
FlowDroid inserted wrong code to replace the makeConcatWithConstants with an equivalent StringBuilder implementation, clearing the taint altough it should be retained1 parent 359a4dc commit 1a985d4
1 file changed
Lines changed: 29 additions & 0 deletions
Lines changed: 29 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
52 | 53 | | |
53 | 54 | | |
54 | 55 | | |
| |||
643 | 644 | | |
644 | 645 | | |
645 | 646 | | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
646 | 672 | | |
647 | 673 | | |
648 | 674 | | |
| |||
659 | 685 | | |
660 | 686 | | |
661 | 687 | | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
662 | 691 | | |
663 | 692 | | |
664 | 693 | | |
| |||
0 commit comments