Skip to content

Commit f86ab8d

Browse files
committed
MSM: autoformat all queries
1 parent 37ae4f3 commit f86ab8d

6 files changed

Lines changed: 40 additions & 52 deletions

File tree

ql_demos/cpp/Qualcomm-MSM-copy_from_user/01_copy_from_user_annotated.ql

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,9 @@ import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
1818
// and the size argument of the kzalloc is the same as the
1919
// size argument of copy_from_user. These calls are safe.
2020
from FunctionCall call, Expr destArg, Expr sizeArg
21-
where call.getTarget().getName() = "copy_from_user"
22-
and destArg = call.getArgument(0)
23-
and sizeArg = call.getArgument(2)
24-
select
25-
call,
26-
destArg.getType(),
27-
lowerBound(sizeArg),
28-
upperBound(sizeArg),
21+
where
22+
call.getTarget().getName() = "copy_from_user" and
23+
destArg = call.getArgument(0) and
24+
sizeArg = call.getArgument(2)
25+
select call, destArg.getType(), lowerBound(sizeArg), upperBound(sizeArg),
2926
call.getFile().getRelativePath()

ql_demos/cpp/Qualcomm-MSM-copy_from_user/02_filter_with_upperbound.ql

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,10 @@ import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
1616
// copy_from_user(&s, usrptr, sizeof(s));
1717
// ```
1818
from FunctionCall call, Expr destArg, Expr sizeArg
19-
where call.getTarget().getName() = "copy_from_user"
20-
and destArg = call.getArgument(0)
21-
and sizeArg = call.getArgument(2)
22-
and not (destArg.getType().(PointerType).getBaseType().getSize() >= upperBound(sizeArg))
23-
select
24-
call,
25-
destArg.getType(),
26-
lowerBound(sizeArg),
27-
upperBound(sizeArg),
19+
where
20+
call.getTarget().getName() = "copy_from_user" and
21+
destArg = call.getArgument(0) and
22+
sizeArg = call.getArgument(2) and
23+
not destArg.getType().(PointerType).getBaseType().getSize() >= upperBound(sizeArg)
24+
select call, destArg.getType(), lowerBound(sizeArg), upperBound(sizeArg),
2825
call.getFile().getRelativePath()

ql_demos/cpp/Qualcomm-MSM-copy_from_user/03_filter_with_upperbound.ql

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,11 @@ import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
1818
// copy_from_user(s, usrptr, sizeof(s));
1919
// ```
2020
from FunctionCall call, Expr destArg, Expr sizeArg
21-
where call.getTarget().getName() = "copy_from_user"
22-
and destArg = call.getArgument(0)
23-
and sizeArg = call.getArgument(2)
24-
and not (destArg.getType().(PointerType).getBaseType().getSize() >= upperBound(sizeArg))
25-
and not (destArg.getType().(ArrayType).getSize() >= upperBound(sizeArg))
26-
select
27-
call,
28-
destArg.getType(),
29-
lowerBound(sizeArg),
30-
upperBound(sizeArg),
21+
where
22+
call.getTarget().getName() = "copy_from_user" and
23+
destArg = call.getArgument(0) and
24+
sizeArg = call.getArgument(2) and
25+
not destArg.getType().(PointerType).getBaseType().getSize() >= upperBound(sizeArg) and
26+
not destArg.getType().(ArrayType).getSize() >= upperBound(sizeArg)
27+
select call, destArg.getType(), lowerBound(sizeArg), upperBound(sizeArg),
3128
call.getFile().getRelativePath()

ql_demos/cpp/Qualcomm-MSM-copy_from_user/04_safe_malloc.ql

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@ import semmle.code.cpp.dataflow.DataFlow
2020
// In the next query, we'll use `safe_malloc` to filter those
2121
// calls out, because they are safe.
2222
predicate safe_malloc(FunctionCall allocCall, FunctionCall copy_from_user) {
23-
exists (DataFlow::Node source, DataFlow::Node sink
24-
| allocCall.getTarget().getName() = "kzalloc" and
23+
exists(DataFlow::Node source, DataFlow::Node sink |
24+
allocCall.getTarget().getName() = "kzalloc" and
2525
copy_from_user.getTarget().getName() = "copy_from_user" and
2626
source.asExpr() = allocCall and
2727
sink.asExpr() = copy_from_user.getArgument(0) and
2828
DataFlow::localFlow(source, sink) and
29-
globalValueNumber(allocCall.getArgument(0)) =
30-
globalValueNumber(copy_from_user.getArgument(2)))
29+
globalValueNumber(allocCall.getArgument(0)) = globalValueNumber(copy_from_user.getArgument(2))
30+
)
3131
}
3232

3333
from FunctionCall allocCall, FunctionCall copy_from_user

ql_demos/cpp/Qualcomm-MSM-copy_from_user/05_filter_with_upperbound_and_safe_malloc.ql

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,27 +15,24 @@ import semmle.code.cpp.dataflow.DataFlow
1515

1616
// We wrote this predicate in the previous query.
1717
predicate safe_malloc(FunctionCall allocCall, FunctionCall copy_from_user) {
18-
exists (DataFlow::Node source, DataFlow::Node sink
19-
| allocCall.getTarget().getName() = "kzalloc" and
18+
exists(DataFlow::Node source, DataFlow::Node sink |
19+
allocCall.getTarget().getName() = "kzalloc" and
2020
copy_from_user.getTarget().getName() = "copy_from_user" and
2121
source.asExpr() = allocCall and
2222
sink.asExpr() = copy_from_user.getArgument(0) and
2323
DataFlow::localFlow(source, sink) and
24-
globalValueNumber(allocCall.getArgument(0)) =
25-
globalValueNumber(copy_from_user.getArgument(2)))
24+
globalValueNumber(allocCall.getArgument(0)) = globalValueNumber(copy_from_user.getArgument(2))
25+
)
2626
}
2727

2828
// Add a filter to remove results that match the `safe_malloc` pattern.
2929
from FunctionCall call, Expr destArg, Expr sizeArg
30-
where call.getTarget().getName() = "copy_from_user"
31-
and destArg = call.getArgument(0)
32-
and sizeArg = call.getArgument(2)
33-
and not (destArg.getType().(PointerType).getBaseType().getSize() >= upperBound(sizeArg))
34-
and not (destArg.getType().(ArrayType).getSize() >= upperBound(sizeArg))
35-
and not safe_malloc(_, call)
36-
select
37-
call,
38-
destArg.getType(),
39-
lowerBound(sizeArg),
40-
upperBound(sizeArg),
30+
where
31+
call.getTarget().getName() = "copy_from_user" and
32+
destArg = call.getArgument(0) and
33+
sizeArg = call.getArgument(2) and
34+
not destArg.getType().(PointerType).getBaseType().getSize() >= upperBound(sizeArg) and
35+
not destArg.getType().(ArrayType).getSize() >= upperBound(sizeArg) and
36+
not safe_malloc(_, call)
37+
select call, destArg.getType(), lowerBound(sizeArg), upperBound(sizeArg),
4138
call.getFile().getRelativePath()

ql_demos/cpp/Qualcomm-MSM-copy_from_user/06_stackaddress_dataflow.ql

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,19 @@ class Config extends DataFlow::Configuration {
1616
Config() { this = "copy_from_user" }
1717

1818
override predicate isSource(DataFlow::Node source) {
19-
exists (LocalVariable v
20-
| source.asExpr().(AddressOfExpr).getOperand() = v.getAnAccess())
19+
exists(LocalVariable v | source.asExpr().(AddressOfExpr).getOperand() = v.getAnAccess())
2120
}
2221

2322
override predicate isSink(DataFlow::Node sink) {
2423
// This is the logic that was previously in the select clause of the query.
25-
exists (FunctionCall call, Expr destArg, Expr sizeArg
26-
| call.getTarget().getName() = "copy_from_user" and
24+
exists(FunctionCall call, Expr destArg, Expr sizeArg |
25+
call.getTarget().getName() = "copy_from_user" and
2726
destArg = sink.asExpr() and
2827
destArg = call.getArgument(0) and
2928
sizeArg = call.getArgument(2) and
30-
not (destArg.getType().(PointerType).getBaseType().getSize() >= upperBound(sizeArg)) and
31-
not (destArg.getType().(ArrayType).getSize() >= upperBound(sizeArg)))
29+
not destArg.getType().(PointerType).getBaseType().getSize() >= upperBound(sizeArg) and
30+
not destArg.getType().(ArrayType).getSize() >= upperBound(sizeArg)
31+
)
3232
}
3333
}
3434

0 commit comments

Comments
 (0)