Skip to content

Commit fa9677d

Browse files
committed
Rust: Add model variants for core::ops::bit on Wrapping.
1 parent 9d64550 commit fa9677d

File tree

3 files changed

+162
-55
lines changed

3 files changed

+162
-55
lines changed

rust/ql/lib/codeql/rust/frameworks/stdlib/core.model.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ extensions:
1414
- ["<_ as core::ops::arith::Neg>::neg", "Argument[self]", "ReturnValue", "taint", "manual"]
1515
- ["<_ as core::ops::arith::Neg>::neg", "Argument[self].Field[core::num::wrapping::Wrapping(0)]", "ReturnValue.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
1616
- ["<_ as core::ops::bit::Not>::not", "Argument[self]", "ReturnValue", "taint", "manual"]
17+
- ["<_ as core::ops::bit::Not>::not", "Argument[self].Field[core::num::wrapping::Wrapping(0)]", "ReturnValue.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
1718
# Arithmetic operators
1819
- ["<_ as core::ops::arith::Add>::add", "Argument[self,0]", "ReturnValue", "taint", "manual"]
1920
- ["<_ as core::ops::arith::Add>::add", "Argument[0].Reference", "ReturnValue", "taint", "manual"]
@@ -59,27 +60,42 @@ extensions:
5960
# Bitwise operators
6061
- ["<_ as core::ops::bit::BitAnd>::bitand", "Argument[self,0]", "ReturnValue", "taint", "manual"]
6162
- ["<_ as core::ops::bit::BitAnd>::bitand", "Argument[0].Reference", "ReturnValue", "taint", "manual"]
63+
- ["<_ as core::ops::bit::BitAnd>::bitand", "Argument[self,0].Field[core::num::wrapping::Wrapping(0)]", "ReturnValue.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
6264
- ["<_ as core::ops::bit::BitOr>::bitor", "Argument[self,0]", "ReturnValue", "taint", "manual"]
6365
- ["<_ as core::ops::bit::BitOr>::bitor", "Argument[0].Reference", "ReturnValue", "taint", "manual"]
66+
- ["<_ as core::ops::bit::BitOr>::bitor", "Argument[self,0].Field[core::num::wrapping::Wrapping(0)]", "ReturnValue.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
6467
- ["<_ as core::ops::bit::BitXor>::bitxor", "Argument[self,0]", "ReturnValue", "taint", "manual"]
6568
- ["<_ as core::ops::bit::BitXor>::bitxor", "Argument[0].Reference", "ReturnValue", "taint", "manual"]
69+
- ["<_ as core::ops::bit::BitXor>::bitxor", "Argument[self,0].Field[core::num::wrapping::Wrapping(0)]", "ReturnValue.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
6670
# Bitwise assignment operators
6771
- ["<_ as core::ops::bit::BitAndAssign>::bitand_assign", "Argument[0]", "Argument[self].Reference", "taint", "manual"]
6872
- ["<_ as core::ops::bit::BitAndAssign>::bitand_assign", "Argument[0].Reference", "Argument[self].Reference", "taint", "manual"]
73+
- ["<_ as core::ops::bit::BitAndAssign>::bitand_assign", "Argument[self].Reference.Field[core::num::wrapping::Wrapping(0)]", "Argument[self].Reference.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
74+
- ["<_ as core::ops::bit::BitAndAssign>::bitand_assign", "Argument[self,0].Field[core::num::wrapping::Wrapping(0)]", "Argument[self].Reference.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
6975
- ["<_ as core::ops::bit::BitOrAssign>::bitor_assign", "Argument[0]", "Argument[self].Reference", "taint", "manual"]
7076
- ["<_ as core::ops::bit::BitOrAssign>::bitor_assign", "Argument[0].Reference", "Argument[self].Reference", "taint", "manual"]
77+
- ["<_ as core::ops::bit::BitOrAssign>::bitor_assign", "Argument[self].Reference.Field[core::num::wrapping::Wrapping(0)]", "Argument[self].Reference.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
78+
- ["<_ as core::ops::bit::BitOrAssign>::bitor_assign", "Argument[self,0].Field[core::num::wrapping::Wrapping(0)]", "Argument[self].Reference.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
7179
- ["<_ as core::ops::bit::BitXorAssign>::bitxor_assign", "Argument[0]", "Argument[self].Reference", "taint", "manual"]
7280
- ["<_ as core::ops::bit::BitXorAssign>::bitxor_assign", "Argument[0].Reference", "Argument[self].Reference", "taint", "manual"]
81+
- ["<_ as core::ops::bit::BitXorAssign>::bitxor_assign", "Argument[self].Reference.Field[core::num::wrapping::Wrapping(0)]", "Argument[self].Reference.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
82+
- ["<_ as core::ops::bit::BitXorAssign>::bitxor_assign", "Argument[self,0].Field[core::num::wrapping::Wrapping(0)]", "Argument[self].Reference.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
7383
# Shift operators
7484
- ["<_ as core::ops::bit::Shl>::shl", "Argument[self,0]", "ReturnValue", "taint", "manual"]
7585
- ["<_ as core::ops::bit::Shl>::shl", "Argument[0].Reference", "ReturnValue", "taint", "manual"]
86+
- ["<_ as core::ops::bit::Shl>::shl", "Argument[self,0].Field[core::num::wrapping::Wrapping(0)]", "ReturnValue.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
7687
- ["<_ as core::ops::bit::Shr>::shr", "Argument[self,0]", "ReturnValue", "taint", "manual"]
7788
- ["<_ as core::ops::bit::Shr>::shr", "Argument[0].Reference", "ReturnValue", "taint", "manual"]
89+
- ["<_ as core::ops::bit::Shr>::shr", "Argument[self,0].Field[core::num::wrapping::Wrapping(0)]", "ReturnValue.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
7890
# Shift assignment operators
7991
- ["<_ as core::ops::bit::ShlAssign>::shl_assign", "Argument[0]", "Argument[self].Reference", "taint", "manual"]
8092
- ["<_ as core::ops::bit::ShlAssign>::shl_assign", "Argument[0].Reference", "Argument[self].Reference", "taint", "manual"]
93+
- ["<_ as core::ops::bit::ShlAssign>::shl_assign", "Argument[self].Reference.Field[core::num::wrapping::Wrapping(0)]", "Argument[self].Reference.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
94+
- ["<_ as core::ops::bit::ShlAssign>::shl_assign", "Argument[0].Field[core::num::wrapping::Wrapping(0)]", "Argument[self].Reference.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
8195
- ["<_ as core::ops::bit::ShrAssign>::shr_assign", "Argument[0]", "Argument[self].Reference", "taint", "manual"]
8296
- ["<_ as core::ops::bit::ShrAssign>::shr_assign", "Argument[0].Reference", "Argument[self].Reference", "taint", "manual"]
97+
- ["<_ as core::ops::bit::ShrAssign>::shr_assign", "Argument[self].Reference.Field[core::num::wrapping::Wrapping(0)]", "Argument[self].Reference.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
98+
- ["<_ as core::ops::bit::ShrAssign>::shr_assign", "Argument[0].Field[core::num::wrapping::Wrapping(0)]", "Argument[self].Reference.Field[core::num::wrapping::Wrapping(0)]", "taint", "manual"]
8399
# Clone
84100
- ["<_ as core::clone::Clone>::clone", "Argument[self].Reference", "ReturnValue", "value", "manual"]
85101
# Conversions

0 commit comments

Comments
 (0)