Fix tests

This commit is contained in:
Harry Maclean
2022-10-14 18:38:51 +13:00
parent ef260db76e
commit 6e8446b6ae
5 changed files with 548 additions and 52 deletions

View File

@@ -536,6 +536,82 @@ edges
| hash_flow.rb:772:9:772:31 | call to except! [element :c] : | hash_flow.rb:776:10:776:10 | x [element :c] : |
| hash_flow.rb:776:10:776:10 | x [element :c] : | hash_flow.rb:776:10:776:14 | ...[...] |
| hash_flow.rb:781:10:781:13 | hash [element :c] : | hash_flow.rb:781:10:781:17 | ...[...] |
| hash_flow.rb:789:15:789:25 | call to taint : | hash_flow.rb:798:12:798:16 | hash1 [element :a] : |
| hash_flow.rb:791:15:791:25 | call to taint : | hash_flow.rb:798:12:798:16 | hash1 [element :c] : |
| hash_flow.rb:794:15:794:25 | call to taint : | hash_flow.rb:798:29:798:33 | hash2 [element :d] : |
| hash_flow.rb:796:15:796:25 | call to taint : | hash_flow.rb:798:29:798:33 | hash2 [element :f] : |
| hash_flow.rb:798:12:798:16 | hash1 [element :a] : | hash_flow.rb:798:12:802:7 | call to deep_merge [element :a] : |
| hash_flow.rb:798:12:798:16 | hash1 [element :a] : | hash_flow.rb:798:45:798:53 | old_value : |
| hash_flow.rb:798:12:798:16 | hash1 [element :a] : | hash_flow.rb:798:56:798:64 | new_value : |
| hash_flow.rb:798:12:798:16 | hash1 [element :c] : | hash_flow.rb:798:12:802:7 | call to deep_merge [element :c] : |
| hash_flow.rb:798:12:798:16 | hash1 [element :c] : | hash_flow.rb:798:45:798:53 | old_value : |
| hash_flow.rb:798:12:798:16 | hash1 [element :c] : | hash_flow.rb:798:56:798:64 | new_value : |
| hash_flow.rb:798:12:802:7 | call to deep_merge [element :a] : | hash_flow.rb:803:11:803:14 | hash [element :a] : |
| hash_flow.rb:798:12:802:7 | call to deep_merge [element :c] : | hash_flow.rb:805:11:805:14 | hash [element :c] : |
| hash_flow.rb:798:12:802:7 | call to deep_merge [element :d] : | hash_flow.rb:806:11:806:14 | hash [element :d] : |
| hash_flow.rb:798:12:802:7 | call to deep_merge [element :f] : | hash_flow.rb:808:11:808:14 | hash [element :f] : |
| hash_flow.rb:798:29:798:33 | hash2 [element :d] : | hash_flow.rb:798:12:802:7 | call to deep_merge [element :d] : |
| hash_flow.rb:798:29:798:33 | hash2 [element :d] : | hash_flow.rb:798:45:798:53 | old_value : |
| hash_flow.rb:798:29:798:33 | hash2 [element :d] : | hash_flow.rb:798:56:798:64 | new_value : |
| hash_flow.rb:798:29:798:33 | hash2 [element :f] : | hash_flow.rb:798:12:802:7 | call to deep_merge [element :f] : |
| hash_flow.rb:798:29:798:33 | hash2 [element :f] : | hash_flow.rb:798:45:798:53 | old_value : |
| hash_flow.rb:798:29:798:33 | hash2 [element :f] : | hash_flow.rb:798:56:798:64 | new_value : |
| hash_flow.rb:798:45:798:53 | old_value : | hash_flow.rb:800:14:800:22 | old_value |
| hash_flow.rb:798:56:798:64 | new_value : | hash_flow.rb:801:14:801:22 | new_value |
| hash_flow.rb:803:11:803:14 | hash [element :a] : | hash_flow.rb:803:11:803:18 | ...[...] : |
| hash_flow.rb:803:11:803:18 | ...[...] : | hash_flow.rb:803:10:803:19 | ( ... ) |
| hash_flow.rb:805:11:805:14 | hash [element :c] : | hash_flow.rb:805:11:805:18 | ...[...] : |
| hash_flow.rb:805:11:805:18 | ...[...] : | hash_flow.rb:805:10:805:19 | ( ... ) |
| hash_flow.rb:806:11:806:14 | hash [element :d] : | hash_flow.rb:806:11:806:18 | ...[...] : |
| hash_flow.rb:806:11:806:18 | ...[...] : | hash_flow.rb:806:10:806:19 | ( ... ) |
| hash_flow.rb:808:11:808:14 | hash [element :f] : | hash_flow.rb:808:11:808:18 | ...[...] : |
| hash_flow.rb:808:11:808:18 | ...[...] : | hash_flow.rb:808:10:808:19 | ( ... ) |
| hash_flow.rb:815:15:815:25 | call to taint : | hash_flow.rb:824:12:824:16 | hash1 [element :a] : |
| hash_flow.rb:817:15:817:25 | call to taint : | hash_flow.rb:824:12:824:16 | hash1 [element :c] : |
| hash_flow.rb:820:15:820:25 | call to taint : | hash_flow.rb:824:30:824:34 | hash2 [element :d] : |
| hash_flow.rb:822:15:822:25 | call to taint : | hash_flow.rb:824:30:824:34 | hash2 [element :f] : |
| hash_flow.rb:824:12:824:16 | [post] hash1 [element :a] : | hash_flow.rb:836:11:836:15 | hash1 [element :a] : |
| hash_flow.rb:824:12:824:16 | [post] hash1 [element :c] : | hash_flow.rb:838:11:838:15 | hash1 [element :c] : |
| hash_flow.rb:824:12:824:16 | [post] hash1 [element :d] : | hash_flow.rb:839:11:839:15 | hash1 [element :d] : |
| hash_flow.rb:824:12:824:16 | [post] hash1 [element :f] : | hash_flow.rb:841:11:841:15 | hash1 [element :f] : |
| hash_flow.rb:824:12:824:16 | hash1 [element :a] : | hash_flow.rb:824:12:824:16 | [post] hash1 [element :a] : |
| hash_flow.rb:824:12:824:16 | hash1 [element :a] : | hash_flow.rb:824:12:828:7 | call to deep_merge! [element :a] : |
| hash_flow.rb:824:12:824:16 | hash1 [element :a] : | hash_flow.rb:824:46:824:54 | old_value : |
| hash_flow.rb:824:12:824:16 | hash1 [element :a] : | hash_flow.rb:824:57:824:65 | new_value : |
| hash_flow.rb:824:12:824:16 | hash1 [element :c] : | hash_flow.rb:824:12:824:16 | [post] hash1 [element :c] : |
| hash_flow.rb:824:12:824:16 | hash1 [element :c] : | hash_flow.rb:824:12:828:7 | call to deep_merge! [element :c] : |
| hash_flow.rb:824:12:824:16 | hash1 [element :c] : | hash_flow.rb:824:46:824:54 | old_value : |
| hash_flow.rb:824:12:824:16 | hash1 [element :c] : | hash_flow.rb:824:57:824:65 | new_value : |
| hash_flow.rb:824:12:828:7 | call to deep_merge! [element :a] : | hash_flow.rb:829:11:829:14 | hash [element :a] : |
| hash_flow.rb:824:12:828:7 | call to deep_merge! [element :c] : | hash_flow.rb:831:11:831:14 | hash [element :c] : |
| hash_flow.rb:824:12:828:7 | call to deep_merge! [element :d] : | hash_flow.rb:832:11:832:14 | hash [element :d] : |
| hash_flow.rb:824:12:828:7 | call to deep_merge! [element :f] : | hash_flow.rb:834:11:834:14 | hash [element :f] : |
| hash_flow.rb:824:30:824:34 | hash2 [element :d] : | hash_flow.rb:824:12:824:16 | [post] hash1 [element :d] : |
| hash_flow.rb:824:30:824:34 | hash2 [element :d] : | hash_flow.rb:824:12:828:7 | call to deep_merge! [element :d] : |
| hash_flow.rb:824:30:824:34 | hash2 [element :d] : | hash_flow.rb:824:46:824:54 | old_value : |
| hash_flow.rb:824:30:824:34 | hash2 [element :d] : | hash_flow.rb:824:57:824:65 | new_value : |
| hash_flow.rb:824:30:824:34 | hash2 [element :f] : | hash_flow.rb:824:12:824:16 | [post] hash1 [element :f] : |
| hash_flow.rb:824:30:824:34 | hash2 [element :f] : | hash_flow.rb:824:12:828:7 | call to deep_merge! [element :f] : |
| hash_flow.rb:824:30:824:34 | hash2 [element :f] : | hash_flow.rb:824:46:824:54 | old_value : |
| hash_flow.rb:824:30:824:34 | hash2 [element :f] : | hash_flow.rb:824:57:824:65 | new_value : |
| hash_flow.rb:824:46:824:54 | old_value : | hash_flow.rb:826:14:826:22 | old_value |
| hash_flow.rb:824:57:824:65 | new_value : | hash_flow.rb:827:14:827:22 | new_value |
| hash_flow.rb:829:11:829:14 | hash [element :a] : | hash_flow.rb:829:11:829:18 | ...[...] : |
| hash_flow.rb:829:11:829:18 | ...[...] : | hash_flow.rb:829:10:829:19 | ( ... ) |
| hash_flow.rb:831:11:831:14 | hash [element :c] : | hash_flow.rb:831:11:831:18 | ...[...] : |
| hash_flow.rb:831:11:831:18 | ...[...] : | hash_flow.rb:831:10:831:19 | ( ... ) |
| hash_flow.rb:832:11:832:14 | hash [element :d] : | hash_flow.rb:832:11:832:18 | ...[...] : |
| hash_flow.rb:832:11:832:18 | ...[...] : | hash_flow.rb:832:10:832:19 | ( ... ) |
| hash_flow.rb:834:11:834:14 | hash [element :f] : | hash_flow.rb:834:11:834:18 | ...[...] : |
| hash_flow.rb:834:11:834:18 | ...[...] : | hash_flow.rb:834:10:834:19 | ( ... ) |
| hash_flow.rb:836:11:836:15 | hash1 [element :a] : | hash_flow.rb:836:11:836:19 | ...[...] : |
| hash_flow.rb:836:11:836:19 | ...[...] : | hash_flow.rb:836:10:836:20 | ( ... ) |
| hash_flow.rb:838:11:838:15 | hash1 [element :c] : | hash_flow.rb:838:11:838:19 | ...[...] : |
| hash_flow.rb:838:11:838:19 | ...[...] : | hash_flow.rb:838:10:838:20 | ( ... ) |
| hash_flow.rb:839:11:839:15 | hash1 [element :d] : | hash_flow.rb:839:11:839:19 | ...[...] : |
| hash_flow.rb:839:11:839:19 | ...[...] : | hash_flow.rb:839:10:839:20 | ( ... ) |
| hash_flow.rb:841:11:841:15 | hash1 [element :f] : | hash_flow.rb:841:11:841:19 | ...[...] : |
| hash_flow.rb:841:11:841:19 | ...[...] : | hash_flow.rb:841:10:841:20 | ( ... ) |
nodes
| hash_flow.rb:11:15:11:24 | call to taint : | semmle.label | call to taint : |
| hash_flow.rb:13:12:13:21 | call to taint : | semmle.label | call to taint : |
@@ -1134,6 +1210,78 @@ nodes
| hash_flow.rb:776:10:776:14 | ...[...] | semmle.label | ...[...] |
| hash_flow.rb:781:10:781:13 | hash [element :c] : | semmle.label | hash [element :c] : |
| hash_flow.rb:781:10:781:17 | ...[...] | semmle.label | ...[...] |
| hash_flow.rb:789:15:789:25 | call to taint : | semmle.label | call to taint : |
| hash_flow.rb:791:15:791:25 | call to taint : | semmle.label | call to taint : |
| hash_flow.rb:794:15:794:25 | call to taint : | semmle.label | call to taint : |
| hash_flow.rb:796:15:796:25 | call to taint : | semmle.label | call to taint : |
| hash_flow.rb:798:12:798:16 | hash1 [element :a] : | semmle.label | hash1 [element :a] : |
| hash_flow.rb:798:12:798:16 | hash1 [element :c] : | semmle.label | hash1 [element :c] : |
| hash_flow.rb:798:12:802:7 | call to deep_merge [element :a] : | semmle.label | call to deep_merge [element :a] : |
| hash_flow.rb:798:12:802:7 | call to deep_merge [element :c] : | semmle.label | call to deep_merge [element :c] : |
| hash_flow.rb:798:12:802:7 | call to deep_merge [element :d] : | semmle.label | call to deep_merge [element :d] : |
| hash_flow.rb:798:12:802:7 | call to deep_merge [element :f] : | semmle.label | call to deep_merge [element :f] : |
| hash_flow.rb:798:29:798:33 | hash2 [element :d] : | semmle.label | hash2 [element :d] : |
| hash_flow.rb:798:29:798:33 | hash2 [element :f] : | semmle.label | hash2 [element :f] : |
| hash_flow.rb:798:45:798:53 | old_value : | semmle.label | old_value : |
| hash_flow.rb:798:56:798:64 | new_value : | semmle.label | new_value : |
| hash_flow.rb:800:14:800:22 | old_value | semmle.label | old_value |
| hash_flow.rb:801:14:801:22 | new_value | semmle.label | new_value |
| hash_flow.rb:803:10:803:19 | ( ... ) | semmle.label | ( ... ) |
| hash_flow.rb:803:11:803:14 | hash [element :a] : | semmle.label | hash [element :a] : |
| hash_flow.rb:803:11:803:18 | ...[...] : | semmle.label | ...[...] : |
| hash_flow.rb:805:10:805:19 | ( ... ) | semmle.label | ( ... ) |
| hash_flow.rb:805:11:805:14 | hash [element :c] : | semmle.label | hash [element :c] : |
| hash_flow.rb:805:11:805:18 | ...[...] : | semmle.label | ...[...] : |
| hash_flow.rb:806:10:806:19 | ( ... ) | semmle.label | ( ... ) |
| hash_flow.rb:806:11:806:14 | hash [element :d] : | semmle.label | hash [element :d] : |
| hash_flow.rb:806:11:806:18 | ...[...] : | semmle.label | ...[...] : |
| hash_flow.rb:808:10:808:19 | ( ... ) | semmle.label | ( ... ) |
| hash_flow.rb:808:11:808:14 | hash [element :f] : | semmle.label | hash [element :f] : |
| hash_flow.rb:808:11:808:18 | ...[...] : | semmle.label | ...[...] : |
| hash_flow.rb:815:15:815:25 | call to taint : | semmle.label | call to taint : |
| hash_flow.rb:817:15:817:25 | call to taint : | semmle.label | call to taint : |
| hash_flow.rb:820:15:820:25 | call to taint : | semmle.label | call to taint : |
| hash_flow.rb:822:15:822:25 | call to taint : | semmle.label | call to taint : |
| hash_flow.rb:824:12:824:16 | [post] hash1 [element :a] : | semmle.label | [post] hash1 [element :a] : |
| hash_flow.rb:824:12:824:16 | [post] hash1 [element :c] : | semmle.label | [post] hash1 [element :c] : |
| hash_flow.rb:824:12:824:16 | [post] hash1 [element :d] : | semmle.label | [post] hash1 [element :d] : |
| hash_flow.rb:824:12:824:16 | [post] hash1 [element :f] : | semmle.label | [post] hash1 [element :f] : |
| hash_flow.rb:824:12:824:16 | hash1 [element :a] : | semmle.label | hash1 [element :a] : |
| hash_flow.rb:824:12:824:16 | hash1 [element :c] : | semmle.label | hash1 [element :c] : |
| hash_flow.rb:824:12:828:7 | call to deep_merge! [element :a] : | semmle.label | call to deep_merge! [element :a] : |
| hash_flow.rb:824:12:828:7 | call to deep_merge! [element :c] : | semmle.label | call to deep_merge! [element :c] : |
| hash_flow.rb:824:12:828:7 | call to deep_merge! [element :d] : | semmle.label | call to deep_merge! [element :d] : |
| hash_flow.rb:824:12:828:7 | call to deep_merge! [element :f] : | semmle.label | call to deep_merge! [element :f] : |
| hash_flow.rb:824:30:824:34 | hash2 [element :d] : | semmle.label | hash2 [element :d] : |
| hash_flow.rb:824:30:824:34 | hash2 [element :f] : | semmle.label | hash2 [element :f] : |
| hash_flow.rb:824:46:824:54 | old_value : | semmle.label | old_value : |
| hash_flow.rb:824:57:824:65 | new_value : | semmle.label | new_value : |
| hash_flow.rb:826:14:826:22 | old_value | semmle.label | old_value |
| hash_flow.rb:827:14:827:22 | new_value | semmle.label | new_value |
| hash_flow.rb:829:10:829:19 | ( ... ) | semmle.label | ( ... ) |
| hash_flow.rb:829:11:829:14 | hash [element :a] : | semmle.label | hash [element :a] : |
| hash_flow.rb:829:11:829:18 | ...[...] : | semmle.label | ...[...] : |
| hash_flow.rb:831:10:831:19 | ( ... ) | semmle.label | ( ... ) |
| hash_flow.rb:831:11:831:14 | hash [element :c] : | semmle.label | hash [element :c] : |
| hash_flow.rb:831:11:831:18 | ...[...] : | semmle.label | ...[...] : |
| hash_flow.rb:832:10:832:19 | ( ... ) | semmle.label | ( ... ) |
| hash_flow.rb:832:11:832:14 | hash [element :d] : | semmle.label | hash [element :d] : |
| hash_flow.rb:832:11:832:18 | ...[...] : | semmle.label | ...[...] : |
| hash_flow.rb:834:10:834:19 | ( ... ) | semmle.label | ( ... ) |
| hash_flow.rb:834:11:834:14 | hash [element :f] : | semmle.label | hash [element :f] : |
| hash_flow.rb:834:11:834:18 | ...[...] : | semmle.label | ...[...] : |
| hash_flow.rb:836:10:836:20 | ( ... ) | semmle.label | ( ... ) |
| hash_flow.rb:836:11:836:15 | hash1 [element :a] : | semmle.label | hash1 [element :a] : |
| hash_flow.rb:836:11:836:19 | ...[...] : | semmle.label | ...[...] : |
| hash_flow.rb:838:10:838:20 | ( ... ) | semmle.label | ( ... ) |
| hash_flow.rb:838:11:838:15 | hash1 [element :c] : | semmle.label | hash1 [element :c] : |
| hash_flow.rb:838:11:838:19 | ...[...] : | semmle.label | ...[...] : |
| hash_flow.rb:839:10:839:20 | ( ... ) | semmle.label | ( ... ) |
| hash_flow.rb:839:11:839:15 | hash1 [element :d] : | semmle.label | hash1 [element :d] : |
| hash_flow.rb:839:11:839:19 | ...[...] : | semmle.label | ...[...] : |
| hash_flow.rb:841:10:841:20 | ( ... ) | semmle.label | ( ... ) |
| hash_flow.rb:841:11:841:15 | hash1 [element :f] : | semmle.label | hash1 [element :f] : |
| hash_flow.rb:841:11:841:19 | ...[...] : | semmle.label | ...[...] : |
subpaths
#select
| hash_flow.rb:22:10:22:17 | ...[...] | hash_flow.rb:11:15:11:24 | call to taint : | hash_flow.rb:22:10:22:17 | ...[...] | $@ | hash_flow.rb:11:15:11:24 | call to taint : | call to taint : |
@@ -1313,3 +1461,31 @@ subpaths
| hash_flow.rb:770:10:770:17 | ...[...] | hash_flow.rb:764:15:764:25 | call to taint : | hash_flow.rb:770:10:770:17 | ...[...] | $@ | hash_flow.rb:764:15:764:25 | call to taint : | call to taint : |
| hash_flow.rb:776:10:776:14 | ...[...] | hash_flow.rb:763:15:763:25 | call to taint : | hash_flow.rb:776:10:776:14 | ...[...] | $@ | hash_flow.rb:763:15:763:25 | call to taint : | call to taint : |
| hash_flow.rb:781:10:781:17 | ...[...] | hash_flow.rb:763:15:763:25 | call to taint : | hash_flow.rb:781:10:781:17 | ...[...] | $@ | hash_flow.rb:763:15:763:25 | call to taint : | call to taint : |
| hash_flow.rb:800:14:800:22 | old_value | hash_flow.rb:789:15:789:25 | call to taint : | hash_flow.rb:800:14:800:22 | old_value | $@ | hash_flow.rb:789:15:789:25 | call to taint : | call to taint : |
| hash_flow.rb:800:14:800:22 | old_value | hash_flow.rb:791:15:791:25 | call to taint : | hash_flow.rb:800:14:800:22 | old_value | $@ | hash_flow.rb:791:15:791:25 | call to taint : | call to taint : |
| hash_flow.rb:800:14:800:22 | old_value | hash_flow.rb:794:15:794:25 | call to taint : | hash_flow.rb:800:14:800:22 | old_value | $@ | hash_flow.rb:794:15:794:25 | call to taint : | call to taint : |
| hash_flow.rb:800:14:800:22 | old_value | hash_flow.rb:796:15:796:25 | call to taint : | hash_flow.rb:800:14:800:22 | old_value | $@ | hash_flow.rb:796:15:796:25 | call to taint : | call to taint : |
| hash_flow.rb:801:14:801:22 | new_value | hash_flow.rb:789:15:789:25 | call to taint : | hash_flow.rb:801:14:801:22 | new_value | $@ | hash_flow.rb:789:15:789:25 | call to taint : | call to taint : |
| hash_flow.rb:801:14:801:22 | new_value | hash_flow.rb:791:15:791:25 | call to taint : | hash_flow.rb:801:14:801:22 | new_value | $@ | hash_flow.rb:791:15:791:25 | call to taint : | call to taint : |
| hash_flow.rb:801:14:801:22 | new_value | hash_flow.rb:794:15:794:25 | call to taint : | hash_flow.rb:801:14:801:22 | new_value | $@ | hash_flow.rb:794:15:794:25 | call to taint : | call to taint : |
| hash_flow.rb:801:14:801:22 | new_value | hash_flow.rb:796:15:796:25 | call to taint : | hash_flow.rb:801:14:801:22 | new_value | $@ | hash_flow.rb:796:15:796:25 | call to taint : | call to taint : |
| hash_flow.rb:803:10:803:19 | ( ... ) | hash_flow.rb:789:15:789:25 | call to taint : | hash_flow.rb:803:10:803:19 | ( ... ) | $@ | hash_flow.rb:789:15:789:25 | call to taint : | call to taint : |
| hash_flow.rb:805:10:805:19 | ( ... ) | hash_flow.rb:791:15:791:25 | call to taint : | hash_flow.rb:805:10:805:19 | ( ... ) | $@ | hash_flow.rb:791:15:791:25 | call to taint : | call to taint : |
| hash_flow.rb:806:10:806:19 | ( ... ) | hash_flow.rb:794:15:794:25 | call to taint : | hash_flow.rb:806:10:806:19 | ( ... ) | $@ | hash_flow.rb:794:15:794:25 | call to taint : | call to taint : |
| hash_flow.rb:808:10:808:19 | ( ... ) | hash_flow.rb:796:15:796:25 | call to taint : | hash_flow.rb:808:10:808:19 | ( ... ) | $@ | hash_flow.rb:796:15:796:25 | call to taint : | call to taint : |
| hash_flow.rb:826:14:826:22 | old_value | hash_flow.rb:815:15:815:25 | call to taint : | hash_flow.rb:826:14:826:22 | old_value | $@ | hash_flow.rb:815:15:815:25 | call to taint : | call to taint : |
| hash_flow.rb:826:14:826:22 | old_value | hash_flow.rb:817:15:817:25 | call to taint : | hash_flow.rb:826:14:826:22 | old_value | $@ | hash_flow.rb:817:15:817:25 | call to taint : | call to taint : |
| hash_flow.rb:826:14:826:22 | old_value | hash_flow.rb:820:15:820:25 | call to taint : | hash_flow.rb:826:14:826:22 | old_value | $@ | hash_flow.rb:820:15:820:25 | call to taint : | call to taint : |
| hash_flow.rb:826:14:826:22 | old_value | hash_flow.rb:822:15:822:25 | call to taint : | hash_flow.rb:826:14:826:22 | old_value | $@ | hash_flow.rb:822:15:822:25 | call to taint : | call to taint : |
| hash_flow.rb:827:14:827:22 | new_value | hash_flow.rb:815:15:815:25 | call to taint : | hash_flow.rb:827:14:827:22 | new_value | $@ | hash_flow.rb:815:15:815:25 | call to taint : | call to taint : |
| hash_flow.rb:827:14:827:22 | new_value | hash_flow.rb:817:15:817:25 | call to taint : | hash_flow.rb:827:14:827:22 | new_value | $@ | hash_flow.rb:817:15:817:25 | call to taint : | call to taint : |
| hash_flow.rb:827:14:827:22 | new_value | hash_flow.rb:820:15:820:25 | call to taint : | hash_flow.rb:827:14:827:22 | new_value | $@ | hash_flow.rb:820:15:820:25 | call to taint : | call to taint : |
| hash_flow.rb:827:14:827:22 | new_value | hash_flow.rb:822:15:822:25 | call to taint : | hash_flow.rb:827:14:827:22 | new_value | $@ | hash_flow.rb:822:15:822:25 | call to taint : | call to taint : |
| hash_flow.rb:829:10:829:19 | ( ... ) | hash_flow.rb:815:15:815:25 | call to taint : | hash_flow.rb:829:10:829:19 | ( ... ) | $@ | hash_flow.rb:815:15:815:25 | call to taint : | call to taint : |
| hash_flow.rb:831:10:831:19 | ( ... ) | hash_flow.rb:817:15:817:25 | call to taint : | hash_flow.rb:831:10:831:19 | ( ... ) | $@ | hash_flow.rb:817:15:817:25 | call to taint : | call to taint : |
| hash_flow.rb:832:10:832:19 | ( ... ) | hash_flow.rb:820:15:820:25 | call to taint : | hash_flow.rb:832:10:832:19 | ( ... ) | $@ | hash_flow.rb:820:15:820:25 | call to taint : | call to taint : |
| hash_flow.rb:834:10:834:19 | ( ... ) | hash_flow.rb:822:15:822:25 | call to taint : | hash_flow.rb:834:10:834:19 | ( ... ) | $@ | hash_flow.rb:822:15:822:25 | call to taint : | call to taint : |
| hash_flow.rb:836:10:836:20 | ( ... ) | hash_flow.rb:815:15:815:25 | call to taint : | hash_flow.rb:836:10:836:20 | ( ... ) | $@ | hash_flow.rb:815:15:815:25 | call to taint : | call to taint : |
| hash_flow.rb:838:10:838:20 | ( ... ) | hash_flow.rb:817:15:817:25 | call to taint : | hash_flow.rb:838:10:838:20 | ( ... ) | $@ | hash_flow.rb:817:15:817:25 | call to taint : | call to taint : |
| hash_flow.rb:839:10:839:20 | ( ... ) | hash_flow.rb:820:15:820:25 | call to taint : | hash_flow.rb:839:10:839:20 | ( ... ) | $@ | hash_flow.rb:820:15:820:25 | call to taint : | call to taint : |
| hash_flow.rb:841:10:841:20 | ( ... ) | hash_flow.rb:822:15:822:25 | call to taint : | hash_flow.rb:841:10:841:20 | ( ... ) | $@ | hash_flow.rb:822:15:822:25 | call to taint : | call to taint : |

View File

@@ -25,3 +25,9 @@
| hash_flow.rb:671:10:671:19 | ( ... ) | Unexpected result: hasValueFlow=41.1 |
| hash_flow.rb:702:22:702:42 | # $ hasValueFlow=42.3 | Missing result:hasValueFlow=42.3 |
| hash_flow.rb:704:22:704:42 | # $ hasValueFlow=42.4 | Missing result:hasValueFlow=42.4 |
| hash_flow.rb:774:10:774:14 | ...[...] | Unexpected result: hasValueFlow=46.1 |
| hash_flow.rb:777:10:777:14 | ...[...] | Unexpected result: hasValueFlow=46.3 |
| hash_flow.rb:779:10:779:17 | ...[...] | Unexpected result: hasValueFlow=46.1 |
| hash_flow.rb:782:10:782:17 | ...[...] | Unexpected result: hasValueFlow=46.3 |
| hash_flow.rb:839:22:839:42 | # $ hasValueFlow=48.3 | Missing result:hasValueFlow=48.3 |
| hash_flow.rb:841:22:841:42 | # $ hasValueFlow=48.4 | Missing result:hasValueFlow=48.4 |

View File

@@ -1,6 +1,4 @@
failures
| active_support.rb:276:10:276:26 | # $hasTaintFlow=a | Missing result:hasTaintFlow=a |
| active_support.rb:278:10:278:26 | # $hasTaintFlow=a | Missing result:hasTaintFlow=a |
edges
| active_support.rb:10:9:10:18 | call to source : | active_support.rb:11:10:11:10 | x : |
| active_support.rb:11:10:11:10 | x : | active_support.rb:11:10:11:19 | call to at |
@@ -168,18 +166,146 @@ edges
| active_support.rb:267:34:267:34 | a : | active_support.rb:267:7:267:35 | call to new : |
| active_support.rb:268:7:268:7 | x : | active_support.rb:268:7:268:16 | call to to_param : |
| active_support.rb:268:7:268:16 | call to to_param : | active_support.rb:269:8:269:8 | y |
| active_support.rb:281:7:281:16 | call to source : | active_support.rb:282:8:282:8 | x : |
| active_support.rb:281:7:281:16 | call to source : | active_support.rb:282:8:282:8 | x : |
| active_support.rb:282:8:282:8 | x : | active_support.rb:282:8:282:17 | call to presence |
| active_support.rb:282:8:282:8 | x : | active_support.rb:282:8:282:17 | call to presence |
| active_support.rb:284:7:284:16 | call to source : | active_support.rb:285:8:285:8 | y : |
| active_support.rb:284:7:284:16 | call to source : | active_support.rb:285:8:285:8 | y : |
| active_support.rb:285:8:285:8 | y : | active_support.rb:285:8:285:17 | call to presence |
| active_support.rb:285:8:285:8 | y : | active_support.rb:285:8:285:17 | call to presence |
| active_support.rb:289:7:289:16 | call to source : | active_support.rb:290:8:290:8 | x : |
| active_support.rb:289:7:289:16 | call to source : | active_support.rb:290:8:290:8 | x : |
| active_support.rb:290:8:290:8 | x : | active_support.rb:290:8:290:17 | call to deep_dup |
| active_support.rb:290:8:290:8 | x : | active_support.rb:290:8:290:17 | call to deep_dup |
| active_support.rb:273:7:273:16 | call to source : | active_support.rb:274:20:274:20 | a : |
| active_support.rb:274:7:274:21 | call to new : | active_support.rb:275:7:275:7 | x : |
| active_support.rb:274:20:274:20 | a : | active_support.rb:274:7:274:21 | call to new : |
| active_support.rb:275:7:275:7 | x : | active_support.rb:275:7:275:17 | call to existence : |
| active_support.rb:275:7:275:17 | call to existence : | active_support.rb:276:8:276:8 | y |
| active_support.rb:275:7:275:17 | call to existence : | active_support.rb:277:7:277:7 | y : |
| active_support.rb:277:7:277:7 | y : | active_support.rb:277:7:277:17 | call to existence : |
| active_support.rb:277:7:277:17 | call to existence : | active_support.rb:278:8:278:8 | z |
| active_support.rb:282:7:282:16 | call to source : | active_support.rb:283:8:283:8 | x : |
| active_support.rb:282:7:282:16 | call to source : | active_support.rb:283:8:283:8 | x : |
| active_support.rb:283:8:283:8 | x : | active_support.rb:283:8:283:17 | call to presence |
| active_support.rb:283:8:283:8 | x : | active_support.rb:283:8:283:17 | call to presence |
| active_support.rb:285:7:285:16 | call to source : | active_support.rb:286:8:286:8 | y : |
| active_support.rb:285:7:285:16 | call to source : | active_support.rb:286:8:286:8 | y : |
| active_support.rb:286:8:286:8 | y : | active_support.rb:286:8:286:17 | call to presence |
| active_support.rb:286:8:286:8 | y : | active_support.rb:286:8:286:17 | call to presence |
| active_support.rb:290:7:290:16 | call to source : | active_support.rb:291:8:291:8 | x : |
| active_support.rb:290:7:290:16 | call to source : | active_support.rb:291:8:291:8 | x : |
| active_support.rb:291:8:291:8 | x : | active_support.rb:291:8:291:17 | call to deep_dup |
| active_support.rb:291:8:291:8 | x : | active_support.rb:291:8:291:17 | call to deep_dup |
| hash_extensions.rb:2:15:2:25 | call to source : | hash_extensions.rb:4:9:4:10 | h1 [element :a] : |
| hash_extensions.rb:2:15:2:25 | call to source : | hash_extensions.rb:4:9:4:10 | h1 [element :a] : |
| hash_extensions.rb:3:15:3:25 | call to source : | hash_extensions.rb:4:23:4:24 | h2 [element :b] : |
| hash_extensions.rb:3:15:3:25 | call to source : | hash_extensions.rb:4:23:4:24 | h2 [element :b] : |
| hash_extensions.rb:4:9:4:10 | h1 [element :a] : | hash_extensions.rb:4:9:4:25 | call to deep_merge [element :a] : |
| hash_extensions.rb:4:9:4:10 | h1 [element :a] : | hash_extensions.rb:4:9:4:25 | call to deep_merge [element :a] : |
| hash_extensions.rb:4:9:4:25 | call to deep_merge [element :a] : | hash_extensions.rb:6:10:6:10 | x [element :a] : |
| hash_extensions.rb:4:9:4:25 | call to deep_merge [element :a] : | hash_extensions.rb:6:10:6:10 | x [element :a] : |
| hash_extensions.rb:4:9:4:25 | call to deep_merge [element :b] : | hash_extensions.rb:7:10:7:10 | x [element :b] : |
| hash_extensions.rb:4:9:4:25 | call to deep_merge [element :b] : | hash_extensions.rb:7:10:7:10 | x [element :b] : |
| hash_extensions.rb:4:23:4:24 | h2 [element :b] : | hash_extensions.rb:4:9:4:25 | call to deep_merge [element :b] : |
| hash_extensions.rb:4:23:4:24 | h2 [element :b] : | hash_extensions.rb:4:9:4:25 | call to deep_merge [element :b] : |
| hash_extensions.rb:6:10:6:10 | x [element :a] : | hash_extensions.rb:6:10:6:14 | ...[...] |
| hash_extensions.rb:6:10:6:10 | x [element :a] : | hash_extensions.rb:6:10:6:14 | ...[...] |
| hash_extensions.rb:7:10:7:10 | x [element :b] : | hash_extensions.rb:7:10:7:14 | ...[...] |
| hash_extensions.rb:7:10:7:10 | x [element :b] : | hash_extensions.rb:7:10:7:14 | ...[...] |
| hash_extensions.rb:13:15:13:25 | call to source : | hash_extensions.rb:15:9:15:10 | h1 [element :a] : |
| hash_extensions.rb:13:15:13:25 | call to source : | hash_extensions.rb:15:9:15:10 | h1 [element :a] : |
| hash_extensions.rb:14:15:14:25 | call to source : | hash_extensions.rb:15:24:15:25 | h2 [element :b] : |
| hash_extensions.rb:14:15:14:25 | call to source : | hash_extensions.rb:15:24:15:25 | h2 [element :b] : |
| hash_extensions.rb:14:15:14:25 | call to source : | hash_extensions.rb:24:10:24:11 | h2 [element :b] : |
| hash_extensions.rb:14:15:14:25 | call to source : | hash_extensions.rb:24:10:24:11 | h2 [element :b] : |
| hash_extensions.rb:15:9:15:10 | [post] h1 [element :a] : | hash_extensions.rb:20:10:20:11 | h1 [element :a] : |
| hash_extensions.rb:15:9:15:10 | [post] h1 [element :a] : | hash_extensions.rb:20:10:20:11 | h1 [element :a] : |
| hash_extensions.rb:15:9:15:10 | [post] h1 [element :b] : | hash_extensions.rb:21:10:21:11 | h1 [element :b] : |
| hash_extensions.rb:15:9:15:10 | [post] h1 [element :b] : | hash_extensions.rb:21:10:21:11 | h1 [element :b] : |
| hash_extensions.rb:15:9:15:10 | h1 [element :a] : | hash_extensions.rb:15:9:15:10 | [post] h1 [element :a] : |
| hash_extensions.rb:15:9:15:10 | h1 [element :a] : | hash_extensions.rb:15:9:15:10 | [post] h1 [element :a] : |
| hash_extensions.rb:15:9:15:10 | h1 [element :a] : | hash_extensions.rb:15:9:15:26 | call to deep_merge! [element :a] : |
| hash_extensions.rb:15:9:15:10 | h1 [element :a] : | hash_extensions.rb:15:9:15:26 | call to deep_merge! [element :a] : |
| hash_extensions.rb:15:9:15:26 | call to deep_merge! [element :a] : | hash_extensions.rb:17:10:17:10 | x [element :a] : |
| hash_extensions.rb:15:9:15:26 | call to deep_merge! [element :a] : | hash_extensions.rb:17:10:17:10 | x [element :a] : |
| hash_extensions.rb:15:9:15:26 | call to deep_merge! [element :b] : | hash_extensions.rb:18:10:18:10 | x [element :b] : |
| hash_extensions.rb:15:9:15:26 | call to deep_merge! [element :b] : | hash_extensions.rb:18:10:18:10 | x [element :b] : |
| hash_extensions.rb:15:24:15:25 | h2 [element :b] : | hash_extensions.rb:15:9:15:10 | [post] h1 [element :b] : |
| hash_extensions.rb:15:24:15:25 | h2 [element :b] : | hash_extensions.rb:15:9:15:10 | [post] h1 [element :b] : |
| hash_extensions.rb:15:24:15:25 | h2 [element :b] : | hash_extensions.rb:15:9:15:26 | call to deep_merge! [element :b] : |
| hash_extensions.rb:15:24:15:25 | h2 [element :b] : | hash_extensions.rb:15:9:15:26 | call to deep_merge! [element :b] : |
| hash_extensions.rb:17:10:17:10 | x [element :a] : | hash_extensions.rb:17:10:17:14 | ...[...] |
| hash_extensions.rb:17:10:17:10 | x [element :a] : | hash_extensions.rb:17:10:17:14 | ...[...] |
| hash_extensions.rb:18:10:18:10 | x [element :b] : | hash_extensions.rb:18:10:18:14 | ...[...] |
| hash_extensions.rb:18:10:18:10 | x [element :b] : | hash_extensions.rb:18:10:18:14 | ...[...] |
| hash_extensions.rb:20:10:20:11 | h1 [element :a] : | hash_extensions.rb:20:10:20:15 | ...[...] |
| hash_extensions.rb:20:10:20:11 | h1 [element :a] : | hash_extensions.rb:20:10:20:15 | ...[...] |
| hash_extensions.rb:21:10:21:11 | h1 [element :b] : | hash_extensions.rb:21:10:21:15 | ...[...] |
| hash_extensions.rb:21:10:21:11 | h1 [element :b] : | hash_extensions.rb:21:10:21:15 | ...[...] |
| hash_extensions.rb:24:10:24:11 | h2 [element :b] : | hash_extensions.rb:24:10:24:15 | ...[...] |
| hash_extensions.rb:24:10:24:11 | h2 [element :b] : | hash_extensions.rb:24:10:24:15 | ...[...] |
| hash_extensions.rb:30:14:30:24 | call to source : | hash_extensions.rb:31:9:31:9 | h [element :a] : |
| hash_extensions.rb:30:14:30:24 | call to source : | hash_extensions.rb:31:9:31:9 | h [element :a] : |
| hash_extensions.rb:31:9:31:9 | h [element :a] : | hash_extensions.rb:31:9:31:24 | call to stringify_keys [element] : |
| hash_extensions.rb:31:9:31:9 | h [element :a] : | hash_extensions.rb:31:9:31:24 | call to stringify_keys [element] : |
| hash_extensions.rb:31:9:31:24 | call to stringify_keys [element] : | hash_extensions.rb:32:10:32:10 | x [element] : |
| hash_extensions.rb:31:9:31:24 | call to stringify_keys [element] : | hash_extensions.rb:32:10:32:10 | x [element] : |
| hash_extensions.rb:32:10:32:10 | x [element] : | hash_extensions.rb:32:10:32:14 | ...[...] |
| hash_extensions.rb:32:10:32:10 | x [element] : | hash_extensions.rb:32:10:32:14 | ...[...] |
| hash_extensions.rb:38:14:38:24 | call to source : | hash_extensions.rb:39:9:39:9 | h [element :a] : |
| hash_extensions.rb:38:14:38:24 | call to source : | hash_extensions.rb:39:9:39:9 | h [element :a] : |
| hash_extensions.rb:39:9:39:9 | h [element :a] : | hash_extensions.rb:39:9:39:20 | call to to_options [element] : |
| hash_extensions.rb:39:9:39:9 | h [element :a] : | hash_extensions.rb:39:9:39:20 | call to to_options [element] : |
| hash_extensions.rb:39:9:39:20 | call to to_options [element] : | hash_extensions.rb:40:10:40:10 | x [element] : |
| hash_extensions.rb:39:9:39:20 | call to to_options [element] : | hash_extensions.rb:40:10:40:10 | x [element] : |
| hash_extensions.rb:40:10:40:10 | x [element] : | hash_extensions.rb:40:10:40:14 | ...[...] |
| hash_extensions.rb:40:10:40:10 | x [element] : | hash_extensions.rb:40:10:40:14 | ...[...] |
| hash_extensions.rb:46:14:46:24 | call to source : | hash_extensions.rb:47:9:47:9 | h [element :a] : |
| hash_extensions.rb:46:14:46:24 | call to source : | hash_extensions.rb:47:9:47:9 | h [element :a] : |
| hash_extensions.rb:47:9:47:9 | h [element :a] : | hash_extensions.rb:47:9:47:24 | call to symbolize_keys [element] : |
| hash_extensions.rb:47:9:47:9 | h [element :a] : | hash_extensions.rb:47:9:47:24 | call to symbolize_keys [element] : |
| hash_extensions.rb:47:9:47:24 | call to symbolize_keys [element] : | hash_extensions.rb:48:10:48:10 | x [element] : |
| hash_extensions.rb:47:9:47:24 | call to symbolize_keys [element] : | hash_extensions.rb:48:10:48:10 | x [element] : |
| hash_extensions.rb:48:10:48:10 | x [element] : | hash_extensions.rb:48:10:48:14 | ...[...] |
| hash_extensions.rb:48:10:48:10 | x [element] : | hash_extensions.rb:48:10:48:14 | ...[...] |
| hash_extensions.rb:54:14:54:24 | call to source : | hash_extensions.rb:55:9:55:9 | h [element :a] : |
| hash_extensions.rb:54:14:54:24 | call to source : | hash_extensions.rb:55:9:55:9 | h [element :a] : |
| hash_extensions.rb:55:9:55:9 | h [element :a] : | hash_extensions.rb:55:9:55:29 | call to deep_stringify_keys [element] : |
| hash_extensions.rb:55:9:55:9 | h [element :a] : | hash_extensions.rb:55:9:55:29 | call to deep_stringify_keys [element] : |
| hash_extensions.rb:55:9:55:29 | call to deep_stringify_keys [element] : | hash_extensions.rb:56:10:56:10 | x [element] : |
| hash_extensions.rb:55:9:55:29 | call to deep_stringify_keys [element] : | hash_extensions.rb:56:10:56:10 | x [element] : |
| hash_extensions.rb:56:10:56:10 | x [element] : | hash_extensions.rb:56:10:56:14 | ...[...] |
| hash_extensions.rb:56:10:56:10 | x [element] : | hash_extensions.rb:56:10:56:14 | ...[...] |
| hash_extensions.rb:62:14:62:24 | call to source : | hash_extensions.rb:63:9:63:9 | h [element :a] : |
| hash_extensions.rb:62:14:62:24 | call to source : | hash_extensions.rb:63:9:63:9 | h [element :a] : |
| hash_extensions.rb:63:9:63:9 | h [element :a] : | hash_extensions.rb:63:9:63:29 | call to deep_symbolize_keys [element] : |
| hash_extensions.rb:63:9:63:9 | h [element :a] : | hash_extensions.rb:63:9:63:29 | call to deep_symbolize_keys [element] : |
| hash_extensions.rb:63:9:63:29 | call to deep_symbolize_keys [element] : | hash_extensions.rb:64:10:64:10 | x [element] : |
| hash_extensions.rb:63:9:63:29 | call to deep_symbolize_keys [element] : | hash_extensions.rb:64:10:64:10 | x [element] : |
| hash_extensions.rb:64:10:64:10 | x [element] : | hash_extensions.rb:64:10:64:14 | ...[...] |
| hash_extensions.rb:64:10:64:10 | x [element] : | hash_extensions.rb:64:10:64:14 | ...[...] |
| hash_extensions.rb:70:14:70:24 | call to source : | hash_extensions.rb:71:9:71:9 | h [element :a] : |
| hash_extensions.rb:70:14:70:24 | call to source : | hash_extensions.rb:71:9:71:9 | h [element :a] : |
| hash_extensions.rb:71:9:71:9 | h [element :a] : | hash_extensions.rb:71:9:71:33 | call to with_indifferent_access [element] : |
| hash_extensions.rb:71:9:71:9 | h [element :a] : | hash_extensions.rb:71:9:71:33 | call to with_indifferent_access [element] : |
| hash_extensions.rb:71:9:71:33 | call to with_indifferent_access [element] : | hash_extensions.rb:72:10:72:10 | x [element] : |
| hash_extensions.rb:71:9:71:33 | call to with_indifferent_access [element] : | hash_extensions.rb:72:10:72:10 | x [element] : |
| hash_extensions.rb:72:10:72:10 | x [element] : | hash_extensions.rb:72:10:72:14 | ...[...] |
| hash_extensions.rb:72:10:72:10 | x [element] : | hash_extensions.rb:72:10:72:14 | ...[...] |
| hash_extensions.rb:78:14:78:23 | call to taint : | hash_extensions.rb:79:9:79:9 | h [element :a] : |
| hash_extensions.rb:78:14:78:23 | call to taint : | hash_extensions.rb:79:9:79:9 | h [element :a] : |
| hash_extensions.rb:78:29:78:38 | call to taint : | hash_extensions.rb:79:9:79:9 | h [element :b] : |
| hash_extensions.rb:78:29:78:38 | call to taint : | hash_extensions.rb:79:9:79:9 | h [element :b] : |
| hash_extensions.rb:78:52:78:61 | call to taint : | hash_extensions.rb:79:9:79:9 | h [element :d] : |
| hash_extensions.rb:78:52:78:61 | call to taint : | hash_extensions.rb:79:9:79:9 | h [element :d] : |
| hash_extensions.rb:79:9:79:9 | [post] h [element :d] : | hash_extensions.rb:84:10:84:10 | h [element :d] : |
| hash_extensions.rb:79:9:79:9 | [post] h [element :d] : | hash_extensions.rb:84:10:84:10 | h [element :d] : |
| hash_extensions.rb:79:9:79:9 | h [element :a] : | hash_extensions.rb:79:9:79:29 | call to extract! [element :a] : |
| hash_extensions.rb:79:9:79:9 | h [element :a] : | hash_extensions.rb:79:9:79:29 | call to extract! [element :a] : |
| hash_extensions.rb:79:9:79:9 | h [element :b] : | hash_extensions.rb:79:9:79:29 | call to extract! [element :b] : |
| hash_extensions.rb:79:9:79:9 | h [element :b] : | hash_extensions.rb:79:9:79:29 | call to extract! [element :b] : |
| hash_extensions.rb:79:9:79:9 | h [element :d] : | hash_extensions.rb:79:9:79:9 | [post] h [element :d] : |
| hash_extensions.rb:79:9:79:9 | h [element :d] : | hash_extensions.rb:79:9:79:9 | [post] h [element :d] : |
| hash_extensions.rb:79:9:79:29 | call to extract! [element :a] : | hash_extensions.rb:86:10:86:10 | x [element :a] : |
| hash_extensions.rb:79:9:79:29 | call to extract! [element :a] : | hash_extensions.rb:86:10:86:10 | x [element :a] : |
| hash_extensions.rb:79:9:79:29 | call to extract! [element :b] : | hash_extensions.rb:87:10:87:10 | x [element :b] : |
| hash_extensions.rb:79:9:79:29 | call to extract! [element :b] : | hash_extensions.rb:87:10:87:10 | x [element :b] : |
| hash_extensions.rb:84:10:84:10 | h [element :d] : | hash_extensions.rb:84:10:84:14 | ...[...] |
| hash_extensions.rb:84:10:84:10 | h [element :d] : | hash_extensions.rb:84:10:84:14 | ...[...] |
| hash_extensions.rb:86:10:86:10 | x [element :a] : | hash_extensions.rb:86:10:86:14 | ...[...] |
| hash_extensions.rb:86:10:86:10 | x [element :a] : | hash_extensions.rb:86:10:86:14 | ...[...] |
| hash_extensions.rb:87:10:87:10 | x [element :b] : | hash_extensions.rb:87:10:87:14 | ...[...] |
| hash_extensions.rb:87:10:87:10 | x [element :b] : | hash_extensions.rb:87:10:87:14 | ...[...] |
nodes
| active_support.rb:10:9:10:18 | call to source : | semmle.label | call to source : |
| active_support.rb:11:10:11:10 | x : | semmle.label | x : |
@@ -399,24 +525,179 @@ nodes
| active_support.rb:268:7:268:7 | x : | semmle.label | x : |
| active_support.rb:268:7:268:16 | call to to_param : | semmle.label | call to to_param : |
| active_support.rb:269:8:269:8 | y | semmle.label | y |
| active_support.rb:281:7:281:16 | call to source : | semmle.label | call to source : |
| active_support.rb:281:7:281:16 | call to source : | semmle.label | call to source : |
| active_support.rb:282:8:282:8 | x : | semmle.label | x : |
| active_support.rb:282:8:282:8 | x : | semmle.label | x : |
| active_support.rb:282:8:282:17 | call to presence | semmle.label | call to presence |
| active_support.rb:282:8:282:17 | call to presence | semmle.label | call to presence |
| active_support.rb:284:7:284:16 | call to source : | semmle.label | call to source : |
| active_support.rb:284:7:284:16 | call to source : | semmle.label | call to source : |
| active_support.rb:285:8:285:8 | y : | semmle.label | y : |
| active_support.rb:285:8:285:8 | y : | semmle.label | y : |
| active_support.rb:285:8:285:17 | call to presence | semmle.label | call to presence |
| active_support.rb:285:8:285:17 | call to presence | semmle.label | call to presence |
| active_support.rb:289:7:289:16 | call to source : | semmle.label | call to source : |
| active_support.rb:289:7:289:16 | call to source : | semmle.label | call to source : |
| active_support.rb:290:8:290:8 | x : | semmle.label | x : |
| active_support.rb:290:8:290:8 | x : | semmle.label | x : |
| active_support.rb:290:8:290:17 | call to deep_dup | semmle.label | call to deep_dup |
| active_support.rb:290:8:290:17 | call to deep_dup | semmle.label | call to deep_dup |
| active_support.rb:273:7:273:16 | call to source : | semmle.label | call to source : |
| active_support.rb:274:7:274:21 | call to new : | semmle.label | call to new : |
| active_support.rb:274:20:274:20 | a : | semmle.label | a : |
| active_support.rb:275:7:275:7 | x : | semmle.label | x : |
| active_support.rb:275:7:275:17 | call to existence : | semmle.label | call to existence : |
| active_support.rb:276:8:276:8 | y | semmle.label | y |
| active_support.rb:277:7:277:7 | y : | semmle.label | y : |
| active_support.rb:277:7:277:17 | call to existence : | semmle.label | call to existence : |
| active_support.rb:278:8:278:8 | z | semmle.label | z |
| active_support.rb:282:7:282:16 | call to source : | semmle.label | call to source : |
| active_support.rb:282:7:282:16 | call to source : | semmle.label | call to source : |
| active_support.rb:283:8:283:8 | x : | semmle.label | x : |
| active_support.rb:283:8:283:8 | x : | semmle.label | x : |
| active_support.rb:283:8:283:17 | call to presence | semmle.label | call to presence |
| active_support.rb:283:8:283:17 | call to presence | semmle.label | call to presence |
| active_support.rb:285:7:285:16 | call to source : | semmle.label | call to source : |
| active_support.rb:285:7:285:16 | call to source : | semmle.label | call to source : |
| active_support.rb:286:8:286:8 | y : | semmle.label | y : |
| active_support.rb:286:8:286:8 | y : | semmle.label | y : |
| active_support.rb:286:8:286:17 | call to presence | semmle.label | call to presence |
| active_support.rb:286:8:286:17 | call to presence | semmle.label | call to presence |
| active_support.rb:290:7:290:16 | call to source : | semmle.label | call to source : |
| active_support.rb:290:7:290:16 | call to source : | semmle.label | call to source : |
| active_support.rb:291:8:291:8 | x : | semmle.label | x : |
| active_support.rb:291:8:291:8 | x : | semmle.label | x : |
| active_support.rb:291:8:291:17 | call to deep_dup | semmle.label | call to deep_dup |
| active_support.rb:291:8:291:17 | call to deep_dup | semmle.label | call to deep_dup |
| hash_extensions.rb:2:15:2:25 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:2:15:2:25 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:3:15:3:25 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:3:15:3:25 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:4:9:4:10 | h1 [element :a] : | semmle.label | h1 [element :a] : |
| hash_extensions.rb:4:9:4:10 | h1 [element :a] : | semmle.label | h1 [element :a] : |
| hash_extensions.rb:4:9:4:25 | call to deep_merge [element :a] : | semmle.label | call to deep_merge [element :a] : |
| hash_extensions.rb:4:9:4:25 | call to deep_merge [element :a] : | semmle.label | call to deep_merge [element :a] : |
| hash_extensions.rb:4:9:4:25 | call to deep_merge [element :b] : | semmle.label | call to deep_merge [element :b] : |
| hash_extensions.rb:4:9:4:25 | call to deep_merge [element :b] : | semmle.label | call to deep_merge [element :b] : |
| hash_extensions.rb:4:23:4:24 | h2 [element :b] : | semmle.label | h2 [element :b] : |
| hash_extensions.rb:4:23:4:24 | h2 [element :b] : | semmle.label | h2 [element :b] : |
| hash_extensions.rb:6:10:6:10 | x [element :a] : | semmle.label | x [element :a] : |
| hash_extensions.rb:6:10:6:10 | x [element :a] : | semmle.label | x [element :a] : |
| hash_extensions.rb:6:10:6:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:6:10:6:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:7:10:7:10 | x [element :b] : | semmle.label | x [element :b] : |
| hash_extensions.rb:7:10:7:10 | x [element :b] : | semmle.label | x [element :b] : |
| hash_extensions.rb:7:10:7:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:7:10:7:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:13:15:13:25 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:13:15:13:25 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:14:15:14:25 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:14:15:14:25 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:15:9:15:10 | [post] h1 [element :a] : | semmle.label | [post] h1 [element :a] : |
| hash_extensions.rb:15:9:15:10 | [post] h1 [element :a] : | semmle.label | [post] h1 [element :a] : |
| hash_extensions.rb:15:9:15:10 | [post] h1 [element :b] : | semmle.label | [post] h1 [element :b] : |
| hash_extensions.rb:15:9:15:10 | [post] h1 [element :b] : | semmle.label | [post] h1 [element :b] : |
| hash_extensions.rb:15:9:15:10 | h1 [element :a] : | semmle.label | h1 [element :a] : |
| hash_extensions.rb:15:9:15:10 | h1 [element :a] : | semmle.label | h1 [element :a] : |
| hash_extensions.rb:15:9:15:26 | call to deep_merge! [element :a] : | semmle.label | call to deep_merge! [element :a] : |
| hash_extensions.rb:15:9:15:26 | call to deep_merge! [element :a] : | semmle.label | call to deep_merge! [element :a] : |
| hash_extensions.rb:15:9:15:26 | call to deep_merge! [element :b] : | semmle.label | call to deep_merge! [element :b] : |
| hash_extensions.rb:15:9:15:26 | call to deep_merge! [element :b] : | semmle.label | call to deep_merge! [element :b] : |
| hash_extensions.rb:15:24:15:25 | h2 [element :b] : | semmle.label | h2 [element :b] : |
| hash_extensions.rb:15:24:15:25 | h2 [element :b] : | semmle.label | h2 [element :b] : |
| hash_extensions.rb:17:10:17:10 | x [element :a] : | semmle.label | x [element :a] : |
| hash_extensions.rb:17:10:17:10 | x [element :a] : | semmle.label | x [element :a] : |
| hash_extensions.rb:17:10:17:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:17:10:17:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:18:10:18:10 | x [element :b] : | semmle.label | x [element :b] : |
| hash_extensions.rb:18:10:18:10 | x [element :b] : | semmle.label | x [element :b] : |
| hash_extensions.rb:18:10:18:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:18:10:18:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:20:10:20:11 | h1 [element :a] : | semmle.label | h1 [element :a] : |
| hash_extensions.rb:20:10:20:11 | h1 [element :a] : | semmle.label | h1 [element :a] : |
| hash_extensions.rb:20:10:20:15 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:20:10:20:15 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:21:10:21:11 | h1 [element :b] : | semmle.label | h1 [element :b] : |
| hash_extensions.rb:21:10:21:11 | h1 [element :b] : | semmle.label | h1 [element :b] : |
| hash_extensions.rb:21:10:21:15 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:21:10:21:15 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:24:10:24:11 | h2 [element :b] : | semmle.label | h2 [element :b] : |
| hash_extensions.rb:24:10:24:11 | h2 [element :b] : | semmle.label | h2 [element :b] : |
| hash_extensions.rb:24:10:24:15 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:24:10:24:15 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:30:14:30:24 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:30:14:30:24 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:31:9:31:9 | h [element :a] : | semmle.label | h [element :a] : |
| hash_extensions.rb:31:9:31:9 | h [element :a] : | semmle.label | h [element :a] : |
| hash_extensions.rb:31:9:31:24 | call to stringify_keys [element] : | semmle.label | call to stringify_keys [element] : |
| hash_extensions.rb:31:9:31:24 | call to stringify_keys [element] : | semmle.label | call to stringify_keys [element] : |
| hash_extensions.rb:32:10:32:10 | x [element] : | semmle.label | x [element] : |
| hash_extensions.rb:32:10:32:10 | x [element] : | semmle.label | x [element] : |
| hash_extensions.rb:32:10:32:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:32:10:32:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:38:14:38:24 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:38:14:38:24 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:39:9:39:9 | h [element :a] : | semmle.label | h [element :a] : |
| hash_extensions.rb:39:9:39:9 | h [element :a] : | semmle.label | h [element :a] : |
| hash_extensions.rb:39:9:39:20 | call to to_options [element] : | semmle.label | call to to_options [element] : |
| hash_extensions.rb:39:9:39:20 | call to to_options [element] : | semmle.label | call to to_options [element] : |
| hash_extensions.rb:40:10:40:10 | x [element] : | semmle.label | x [element] : |
| hash_extensions.rb:40:10:40:10 | x [element] : | semmle.label | x [element] : |
| hash_extensions.rb:40:10:40:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:40:10:40:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:46:14:46:24 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:46:14:46:24 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:47:9:47:9 | h [element :a] : | semmle.label | h [element :a] : |
| hash_extensions.rb:47:9:47:9 | h [element :a] : | semmle.label | h [element :a] : |
| hash_extensions.rb:47:9:47:24 | call to symbolize_keys [element] : | semmle.label | call to symbolize_keys [element] : |
| hash_extensions.rb:47:9:47:24 | call to symbolize_keys [element] : | semmle.label | call to symbolize_keys [element] : |
| hash_extensions.rb:48:10:48:10 | x [element] : | semmle.label | x [element] : |
| hash_extensions.rb:48:10:48:10 | x [element] : | semmle.label | x [element] : |
| hash_extensions.rb:48:10:48:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:48:10:48:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:54:14:54:24 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:54:14:54:24 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:55:9:55:9 | h [element :a] : | semmle.label | h [element :a] : |
| hash_extensions.rb:55:9:55:9 | h [element :a] : | semmle.label | h [element :a] : |
| hash_extensions.rb:55:9:55:29 | call to deep_stringify_keys [element] : | semmle.label | call to deep_stringify_keys [element] : |
| hash_extensions.rb:55:9:55:29 | call to deep_stringify_keys [element] : | semmle.label | call to deep_stringify_keys [element] : |
| hash_extensions.rb:56:10:56:10 | x [element] : | semmle.label | x [element] : |
| hash_extensions.rb:56:10:56:10 | x [element] : | semmle.label | x [element] : |
| hash_extensions.rb:56:10:56:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:56:10:56:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:62:14:62:24 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:62:14:62:24 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:63:9:63:9 | h [element :a] : | semmle.label | h [element :a] : |
| hash_extensions.rb:63:9:63:9 | h [element :a] : | semmle.label | h [element :a] : |
| hash_extensions.rb:63:9:63:29 | call to deep_symbolize_keys [element] : | semmle.label | call to deep_symbolize_keys [element] : |
| hash_extensions.rb:63:9:63:29 | call to deep_symbolize_keys [element] : | semmle.label | call to deep_symbolize_keys [element] : |
| hash_extensions.rb:64:10:64:10 | x [element] : | semmle.label | x [element] : |
| hash_extensions.rb:64:10:64:10 | x [element] : | semmle.label | x [element] : |
| hash_extensions.rb:64:10:64:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:64:10:64:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:70:14:70:24 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:70:14:70:24 | call to source : | semmle.label | call to source : |
| hash_extensions.rb:71:9:71:9 | h [element :a] : | semmle.label | h [element :a] : |
| hash_extensions.rb:71:9:71:9 | h [element :a] : | semmle.label | h [element :a] : |
| hash_extensions.rb:71:9:71:33 | call to with_indifferent_access [element] : | semmle.label | call to with_indifferent_access [element] : |
| hash_extensions.rb:71:9:71:33 | call to with_indifferent_access [element] : | semmle.label | call to with_indifferent_access [element] : |
| hash_extensions.rb:72:10:72:10 | x [element] : | semmle.label | x [element] : |
| hash_extensions.rb:72:10:72:10 | x [element] : | semmle.label | x [element] : |
| hash_extensions.rb:72:10:72:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:72:10:72:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:78:14:78:23 | call to taint : | semmle.label | call to taint : |
| hash_extensions.rb:78:14:78:23 | call to taint : | semmle.label | call to taint : |
| hash_extensions.rb:78:29:78:38 | call to taint : | semmle.label | call to taint : |
| hash_extensions.rb:78:29:78:38 | call to taint : | semmle.label | call to taint : |
| hash_extensions.rb:78:52:78:61 | call to taint : | semmle.label | call to taint : |
| hash_extensions.rb:78:52:78:61 | call to taint : | semmle.label | call to taint : |
| hash_extensions.rb:79:9:79:9 | [post] h [element :d] : | semmle.label | [post] h [element :d] : |
| hash_extensions.rb:79:9:79:9 | [post] h [element :d] : | semmle.label | [post] h [element :d] : |
| hash_extensions.rb:79:9:79:9 | h [element :a] : | semmle.label | h [element :a] : |
| hash_extensions.rb:79:9:79:9 | h [element :a] : | semmle.label | h [element :a] : |
| hash_extensions.rb:79:9:79:9 | h [element :b] : | semmle.label | h [element :b] : |
| hash_extensions.rb:79:9:79:9 | h [element :b] : | semmle.label | h [element :b] : |
| hash_extensions.rb:79:9:79:9 | h [element :d] : | semmle.label | h [element :d] : |
| hash_extensions.rb:79:9:79:9 | h [element :d] : | semmle.label | h [element :d] : |
| hash_extensions.rb:79:9:79:29 | call to extract! [element :a] : | semmle.label | call to extract! [element :a] : |
| hash_extensions.rb:79:9:79:29 | call to extract! [element :a] : | semmle.label | call to extract! [element :a] : |
| hash_extensions.rb:79:9:79:29 | call to extract! [element :b] : | semmle.label | call to extract! [element :b] : |
| hash_extensions.rb:79:9:79:29 | call to extract! [element :b] : | semmle.label | call to extract! [element :b] : |
| hash_extensions.rb:84:10:84:10 | h [element :d] : | semmle.label | h [element :d] : |
| hash_extensions.rb:84:10:84:10 | h [element :d] : | semmle.label | h [element :d] : |
| hash_extensions.rb:84:10:84:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:84:10:84:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:86:10:86:10 | x [element :a] : | semmle.label | x [element :a] : |
| hash_extensions.rb:86:10:86:10 | x [element :a] : | semmle.label | x [element :a] : |
| hash_extensions.rb:86:10:86:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:86:10:86:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:87:10:87:10 | x [element :b] : | semmle.label | x [element :b] : |
| hash_extensions.rb:87:10:87:10 | x [element :b] : | semmle.label | x [element :b] : |
| hash_extensions.rb:87:10:87:14 | ...[...] | semmle.label | ...[...] |
| hash_extensions.rb:87:10:87:14 | ...[...] | semmle.label | ...[...] |
subpaths
#select
| active_support.rb:182:10:182:13 | ...[...] | active_support.rb:180:10:180:17 | call to source : | active_support.rb:182:10:182:13 | ...[...] | $@ | active_support.rb:180:10:180:17 | call to source : | call to source : |
@@ -433,6 +714,22 @@ subpaths
| active_support.rb:210:10:210:13 | ...[...] | active_support.rb:205:32:205:40 | call to source : | active_support.rb:210:10:210:13 | ...[...] | $@ | active_support.rb:205:32:205:40 | call to source : | call to source : |
| active_support.rb:211:10:211:13 | ...[...] | active_support.rb:205:21:205:29 | call to source : | active_support.rb:211:10:211:13 | ...[...] | $@ | active_support.rb:205:21:205:29 | call to source : | call to source : |
| active_support.rb:211:10:211:13 | ...[...] | active_support.rb:205:32:205:40 | call to source : | active_support.rb:211:10:211:13 | ...[...] | $@ | active_support.rb:205:32:205:40 | call to source : | call to source : |
| active_support.rb:282:8:282:17 | call to presence | active_support.rb:281:7:281:16 | call to source : | active_support.rb:282:8:282:17 | call to presence | $@ | active_support.rb:281:7:281:16 | call to source : | call to source : |
| active_support.rb:285:8:285:17 | call to presence | active_support.rb:284:7:284:16 | call to source : | active_support.rb:285:8:285:17 | call to presence | $@ | active_support.rb:284:7:284:16 | call to source : | call to source : |
| active_support.rb:290:8:290:17 | call to deep_dup | active_support.rb:289:7:289:16 | call to source : | active_support.rb:290:8:290:17 | call to deep_dup | $@ | active_support.rb:289:7:289:16 | call to source : | call to source : |
| active_support.rb:283:8:283:17 | call to presence | active_support.rb:282:7:282:16 | call to source : | active_support.rb:283:8:283:17 | call to presence | $@ | active_support.rb:282:7:282:16 | call to source : | call to source : |
| active_support.rb:286:8:286:17 | call to presence | active_support.rb:285:7:285:16 | call to source : | active_support.rb:286:8:286:17 | call to presence | $@ | active_support.rb:285:7:285:16 | call to source : | call to source : |
| active_support.rb:291:8:291:17 | call to deep_dup | active_support.rb:290:7:290:16 | call to source : | active_support.rb:291:8:291:17 | call to deep_dup | $@ | active_support.rb:290:7:290:16 | call to source : | call to source : |
| hash_extensions.rb:6:10:6:14 | ...[...] | hash_extensions.rb:2:15:2:25 | call to source : | hash_extensions.rb:6:10:6:14 | ...[...] | $@ | hash_extensions.rb:2:15:2:25 | call to source : | call to source : |
| hash_extensions.rb:7:10:7:14 | ...[...] | hash_extensions.rb:3:15:3:25 | call to source : | hash_extensions.rb:7:10:7:14 | ...[...] | $@ | hash_extensions.rb:3:15:3:25 | call to source : | call to source : |
| hash_extensions.rb:17:10:17:14 | ...[...] | hash_extensions.rb:13:15:13:25 | call to source : | hash_extensions.rb:17:10:17:14 | ...[...] | $@ | hash_extensions.rb:13:15:13:25 | call to source : | call to source : |
| hash_extensions.rb:18:10:18:14 | ...[...] | hash_extensions.rb:14:15:14:25 | call to source : | hash_extensions.rb:18:10:18:14 | ...[...] | $@ | hash_extensions.rb:14:15:14:25 | call to source : | call to source : |
| hash_extensions.rb:20:10:20:15 | ...[...] | hash_extensions.rb:13:15:13:25 | call to source : | hash_extensions.rb:20:10:20:15 | ...[...] | $@ | hash_extensions.rb:13:15:13:25 | call to source : | call to source : |
| hash_extensions.rb:21:10:21:15 | ...[...] | hash_extensions.rb:14:15:14:25 | call to source : | hash_extensions.rb:21:10:21:15 | ...[...] | $@ | hash_extensions.rb:14:15:14:25 | call to source : | call to source : |
| hash_extensions.rb:24:10:24:15 | ...[...] | hash_extensions.rb:14:15:14:25 | call to source : | hash_extensions.rb:24:10:24:15 | ...[...] | $@ | hash_extensions.rb:14:15:14:25 | call to source : | call to source : |
| hash_extensions.rb:32:10:32:14 | ...[...] | hash_extensions.rb:30:14:30:24 | call to source : | hash_extensions.rb:32:10:32:14 | ...[...] | $@ | hash_extensions.rb:30:14:30:24 | call to source : | call to source : |
| hash_extensions.rb:40:10:40:14 | ...[...] | hash_extensions.rb:38:14:38:24 | call to source : | hash_extensions.rb:40:10:40:14 | ...[...] | $@ | hash_extensions.rb:38:14:38:24 | call to source : | call to source : |
| hash_extensions.rb:48:10:48:14 | ...[...] | hash_extensions.rb:46:14:46:24 | call to source : | hash_extensions.rb:48:10:48:14 | ...[...] | $@ | hash_extensions.rb:46:14:46:24 | call to source : | call to source : |
| hash_extensions.rb:56:10:56:14 | ...[...] | hash_extensions.rb:54:14:54:24 | call to source : | hash_extensions.rb:56:10:56:14 | ...[...] | $@ | hash_extensions.rb:54:14:54:24 | call to source : | call to source : |
| hash_extensions.rb:64:10:64:14 | ...[...] | hash_extensions.rb:62:14:62:24 | call to source : | hash_extensions.rb:64:10:64:14 | ...[...] | $@ | hash_extensions.rb:62:14:62:24 | call to source : | call to source : |
| hash_extensions.rb:72:10:72:14 | ...[...] | hash_extensions.rb:70:14:70:24 | call to source : | hash_extensions.rb:72:10:72:14 | ...[...] | $@ | hash_extensions.rb:70:14:70:24 | call to source : | call to source : |
| hash_extensions.rb:84:10:84:14 | ...[...] | hash_extensions.rb:78:52:78:61 | call to taint : | hash_extensions.rb:84:10:84:14 | ...[...] | $@ | hash_extensions.rb:78:52:78:61 | call to taint : | call to taint : |
| hash_extensions.rb:86:10:86:14 | ...[...] | hash_extensions.rb:78:14:78:23 | call to taint : | hash_extensions.rb:86:10:86:14 | ...[...] | $@ | hash_extensions.rb:78:14:78:23 | call to taint : | call to taint : |
| hash_extensions.rb:87:10:87:14 | ...[...] | hash_extensions.rb:78:29:78:38 | call to taint : | hash_extensions.rb:87:10:87:14 | ...[...] | $@ | hash_extensions.rb:78:29:78:38 | call to taint : | call to taint : |

View File

@@ -276,6 +276,7 @@ def m_pathname_existence
sink y # $hasTaintFlow=a
z = y.existence
sink z # $hasTaintFlow=a
end
def m_presence
x = source "a"

View File

@@ -1,15 +1,17 @@
def m_deep_merge
h1 = { a: source "a" }
h2 = { b: source "b" }
def m_deep_merge(x)
h1 = { a: source("a") }
h2 = { b: source("b") }
x = h1.deep_merge(h2)
sink x[:a] # $ hasValueFlow=a
sink x[:b] # $ hasValueFlow=b
end
m_deep_merge(:c)
def m_deep_merge!
h1 = { a: source "a" }
h2 = { b: source "b" }
h1 = { a: source("a") }
h2 = { b: source("b") }
x = h1.deep_merge!(h2)
sink x[:a] # $ hasValueFlow=a
@@ -22,44 +24,58 @@ def m_deep_merge!
sink h2[:b] # $ hasValueFlow=b
end
m_deep_merge!()
def m_stringify_keys
h = { a: source "a" }
h = { a: source("a") }
x = h.stringify_keys
sink x[:a] # $hasValueFlow=a
end
m_stringify_keys()
def m_to_options
h = { a: taint "a" }
h = { a: source("a") }
x = h.to_options
sink x[:a] # $hasTaintFlow=a
sink x[:a] # $hasValueFlow=a
end
m_to_options()
def m_symbolize_keys
h = { a: taint "a" }
h = { a: source("a") }
x = h.symbolize_keys
sink x[:a] # $hasTaintFlow=a
sink x[:a] # $hasValueFlow=a
end
m_symbolize_keys()
def m_deep_stringify_keys
h = { a: taint "a" }
h = { a: source("a") }
x = h.deep_stringify_keys
sink x[:a] # $hasTaintFlow=a
sink x[:a] # $hasValueFlow=a
end
m_deep_stringify_keys()
def m_deep_symbolize_keys
h = { a: taint "a" }
h = { a: source("a") }
x = h.deep_symbolize_keys
sink x[:a] # $hasTaintFlow=a
sink x[:a] # $hasValueFlow=a
end
m_deep_symbolize_keys()
def m_with_indifferent_access
h = { a: taint "a" }
h = { a: source("a") }
x = h.with_indifferent_access
sink x[:a] # $hasTaintFlow=a
sink x[:a] # $hasValueFlow=a
end
m_with_indifferent_access()
def m_extract!(x)
h = { a: taint "a", b: taint "b", c: "c", d: taint "d" }
h = { a: taint("a"), b: taint("b"), c: "c", d: taint("d") }
x = h.extract!(:a, x, :b)
sink h[:a]