Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
1c82682
Update expected test results after frontend update
jketema Mar 6, 2025
ce14612
Merge pull request #865 from jketema/frontend-update
jketema Jun 4, 2025
d6b55ca
Merge branch 'main' into next
jketema Jun 4, 2025
f07f569
Update MISRA queries and tests after merging location tables
jketema Jun 27, 2025
3b4a91c
Merge pull request #915 from jketema/loc-table-merge
jketema Jun 30, 2025
67adebb
C++: accept new test results after QL changes
IdrissRio Jun 30, 2025
60c2e05
Merge pull request #916 from IdrissRio/next
jketema Jul 1, 2025
740bcd0
Merge remote-tracking branch 'upstream/main' into next
jketema Jul 2, 2025
2089bcd
Comvert ARR37-C to use the new dataflow library
jketema Jul 7, 2025
cf1b625
Conver ARR39-C to the new dataflow library
jketema Jul 7, 2025
8d73f3b
Convert ERR30-C to use the new dataflow library
jketema Jul 7, 2025
7a1577e
Convert FIO45-C to use the new dataflow library
jketema Jul 7, 2025
c5c6c58
Convert EXP36-C to the new datafow library
jketema Jul 7, 2025
8fdea49
Convert MSC33-C to the new dataflow library
jketema Jul 7, 2025
3289621
Convert MSC51-CPP to the new dataflow library
jketema Jul 7, 2025
d20cd3a
Convert CTR56-CPP to the new dataflow library
jketema Jul 7, 2025
77e8e0e
Convert EXP51-CPP ot use the new dataflow library
jketema Jul 7, 2025
57b6091
Conver M3-9-3 to use the new dataflow library
jketema Jul 7, 2025
357ee08
Convert A9-3-1 to use the new dataflow library
jketema Jul 7, 2025
30114c5
Convert A27-0-4 to use the new dataflow library
jketema Jul 7, 2025
d313bf2
Convert A5-0-4 to use the new dataflow library
jketema Jul 7, 2025
500e96a
Merge pull request #920 from jketema/jketema/dataflow
jketema Jul 7, 2025
8529fbb
Update expected test results for MSC33-C
jketema Jul 7, 2025
363faea
Merge pull request #921 from jketema/jketema/dataflow
jketema Jul 7, 2025
012ac3d
Create temporary copies of parts of the concurrency library
jketema Jul 7, 2025
22b8860
Convert CON30-C to use the new dataflow library
jketema Jul 7, 2025
0a846c7
Convert CON34-C to the new dataflow library
jketema Jul 8, 2025
1c1f3fb
Move queries not depending on dataflow over to `ConcurrencyNew`
jketema Jul 8, 2025
3ba33c0
Convert UseOnlyArrayIndexingForPointerArithmetic to use the new dataf…
jketema Jul 8, 2025
e2d44a6
Convert StringNumberConversionMissingErrorCheck to use the new datafl…
jketema Jul 8, 2025
5ee401c
Convert FgetsErrorManagement to use the new dataflow library
jketema Jul 8, 2025
96b3137
Convert RULE-22-3 to use the new dataflow library
jketema Jul 8, 2025
0170b58
Convert RULE-22-4 to use the new dataflow library
jketema Jul 8, 2025
8080952
Convert A7-5-1 to use the new dataflow library
jketema Jul 8, 2025
c962dbe
Convert DoNotSubtractPointersAddressingDifferentArrays to use new dat…
jketema Jul 8, 2025
8c05d42
Remove unused dataflow import from IOFstreamMissingPositioning
jketema Jul 8, 2025
b18c7b4
Convert DanglingCaptureWhenReturningLambdaObject to use new dataflow …
jketema Jul 8, 2025
f8eaa1e
Merge pull request #922 from jketema/jketema/dataflow
jketema Jul 8, 2025
8ee97ba
Revert "Convert DanglingCaptureWhenReturningLambdaObject to use new d…
jketema Jul 8, 2025
e08c0f7
Merge pull request #923 from jketema/jketema/dataflow
jketema Jul 8, 2025
ebad011
Merge remote-tracking branch 'upstream/main' into next
jketema Jul 10, 2025
405c43e
Fix FIO40-C regression after incorrectly solving a merge conflict
jketema Jul 10, 2025
b1ae72b
Update expected test results after frontend update
jketema Mar 6, 2025
81d2286
Update MISRA queries and tests after merging location tables
jketema Jun 27, 2025
57b28c3
C++: accept new test results after QL changes
IdrissRio Jun 30, 2025
1876f83
Comvert ARR37-C to use the new dataflow library
jketema Jul 7, 2025
3f37a0f
Conver ARR39-C to the new dataflow library
jketema Jul 7, 2025
da66e37
Convert ERR30-C to use the new dataflow library
jketema Jul 7, 2025
6758b96
Convert FIO45-C to use the new dataflow library
jketema Jul 7, 2025
85e105a
Merge commit 'c5c6c58' into michaelrfairhurst/bisect-performance-issu…
MichaelRFairhurst Aug 26, 2026
cccf981
Merge commit '405c43e' into michaelrfairhurst/bisect-performance-issu…
MichaelRFairhurst Aug 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

import cpp
import codingstandards.c.cert
import semmle.code.cpp.dataflow.DataFlow
import semmle.code.cpp.dataflow.new.DataFlow
import NonArrayPointerToArrayIndexingExprFlow::PathGraph

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import cpp
import codingstandards.c.cert
import codingstandards.cpp.types.Pointers
import semmle.code.cpp.dataflow.TaintTracking
import semmle.code.cpp.dataflow.new.TaintTracking
import ScaledIntegerPointerArithmeticFlow::PathGraph

/**
Expand Down Expand Up @@ -61,9 +61,11 @@ class ScaledIntegerExpr extends Expr {
ScaledIntegerExpr() {
not this.getParent*() instanceof ArrayCountOfExpr and
(
this.(SizeofExprOperator).getExprOperand().getType().getSize() > 1
exists(this.getValue()) and
this.getAChild*().(SizeofExprOperator).getExprOperand().getType().getSize() > 1
Comment on lines +64 to +65
or
this.(SizeofTypeOperator).getTypeOperand().getSize() > 1
exists(this.getValue()) and
this.getAChild*().(SizeofTypeOperator).getTypeOperand().getSize() > 1
or
this instanceof OffsetOfExpr
)
Expand Down
4 changes: 2 additions & 2 deletions c/cert/src/rules/CON30-C/CleanUpThreadSpecificStorage.ql
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@

import cpp
import codingstandards.c.cert
import codingstandards.cpp.Concurrency
import semmle.code.cpp.dataflow.DataFlow
import codingstandards.cpp.ConcurrencyNew
import semmle.code.cpp.dataflow.new.DataFlow

module TssCreateToTssDeleteConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node node) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

import cpp
import codingstandards.c.cert
import codingstandards.cpp.Concurrency
import codingstandards.cpp.ConcurrencyNew

from ThreadedCFN node
where
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
import cpp
import codingstandards.c.cert
import codingstandards.c.Objects
import codingstandards.cpp.Concurrency
import semmle.code.cpp.dataflow.DataFlow
import codingstandards.cpp.ConcurrencyNew
import semmle.code.cpp.dataflow.new.DataFlow
import semmle.code.cpp.commons.Alloc

from C11ThreadCreateCall tcc, Expr arg
Expand Down Expand Up @@ -53,6 +53,7 @@ where
not exists(TSSSetFunctionCall tss, DataFlow::Node src |
// there should be dataflow from somewhere (the same somewhere)
// into each of the first arguments
exists(Expr e | e = src.asDefinition() or e = src.asDefiningArgument()) and
DataFlow::localFlow(src, DataFlow::exprNode(tsg.getArgument(0))) and
DataFlow::localFlow(src, DataFlow::exprNode(tss.getArgument(0)))
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@

import cpp
import codingstandards.c.cert
import codingstandards.cpp.Concurrency
import semmle.code.cpp.dataflow.DataFlow
import codingstandards.cpp.ConcurrencyNew
import semmle.code.cpp.dataflow.new.DataFlow

from TSSGetFunctionCall tsg, ThreadedFunction tf
where
Expand All @@ -31,7 +31,8 @@ where
// however, there does not exist a proper sequencing.
not exists(TSSSetFunctionCall tss, DataFlow::Node src |
// there should be dataflow from somewhere (the same somewhere)
// into each of the first arguments
// into each of the first argument
exists(Expr e | e = src.asDefinition() or e = src.asDefiningArgument()) and
DataFlow::localFlow(src, DataFlow::exprNode(tsg.getArgument(0))) and
DataFlow::localFlow(src, DataFlow::exprNode(tss.getArgument(0)))
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

import cpp
import codingstandards.c.cert
import codingstandards.cpp.Concurrency
import codingstandards.cpp.ConcurrencyNew

from FunctionCall fc
// This should only be applied in the context of a multi-threaded program (since
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

import cpp
import codingstandards.c.cert
import codingstandards.cpp.Concurrency
import codingstandards.cpp.ConcurrencyNew

from MacroInvocation mi, Variable v, Locatable whereFound
where
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

import cpp
import codingstandards.c.cert
import codingstandards.cpp.Concurrency
import codingstandards.cpp.ConcurrencyNew

from AtomicCompareExchange ace
where
Expand Down
2 changes: 1 addition & 1 deletion c/cert/src/rules/ERR30-C/ErrnoReadBeforeReturn.ql
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import cpp
import codingstandards.c.cert
import codingstandards.c.Errno
import semmle.code.cpp.dataflow.DataFlow
import semmle.code.cpp.dataflow.new.DataFlow

/**
* A call to an `OutOfBandErrnoSettingFunction`
Expand Down
2 changes: 1 addition & 1 deletion c/cert/src/rules/ERR30-C/SetlocaleMightSetErrno.ql
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import cpp
import codingstandards.c.cert
import codingstandards.c.Errno
import semmle.code.cpp.dataflow.DataFlow
import semmle.code.cpp.dataflow.new.DataFlow

class SetlocaleFunctionCall extends FunctionCall {
SetlocaleFunctionCall() { this.getTarget().hasGlobalName("setlocale") }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import cpp
import codingstandards.c.cert
import codingstandards.cpp.Alignment
import semmle.code.cpp.dataflow.DataFlow
import semmle.code.cpp.dataflow.new.DataFlow
import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
import ExprWithAlignmentToCStyleCastFlow::PathGraph

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import cpp
import codingstandards.c.cert
import codingstandards.cpp.FgetsErrorManagement
import codingstandards.cpp.Dereferenced
import semmle.code.cpp.dataflow.DataFlow
import semmle.code.cpp.dataflow.new.DataFlow

/*
* CFG nodes that follows a successful call to `fgets`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import cpp
import codingstandards.cpp.FgetsErrorManagement
import codingstandards.cpp.Dereferenced
import codingstandards.c.cert
import semmle.code.cpp.dataflow.DataFlow
import semmle.code.cpp.dataflow.new.DataFlow

/*
* Models calls to `memcpy` `strcpy` `strncpy` and their wrappers
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import cpp
import codingstandards.c.cert
import codingstandards.cpp.standardlibrary.FileAccess
import semmle.code.cpp.dataflow.DataFlow
import semmle.code.cpp.dataflow.new.DataFlow
import semmle.code.cpp.valuenumbering.GlobalValueNumbering

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

import cpp
import codingstandards.c.cert
import semmle.code.cpp.dataflow.DataFlow
import semmle.code.cpp.dataflow.new.DataFlow

/**
* The argument of a call to `asctime`
Expand All @@ -29,6 +29,8 @@ class AsctimeArg extends Expr {
this =
any(FunctionCall f | f.getTarget().hasGlobalName(["asctime", "asctime_r"])).getArgument(0)
}

DataFlow::Node asSink() { this = result.asIndirectExpr() }
}

/**
Expand All @@ -37,20 +39,20 @@ class AsctimeArg extends Expr {
*/
module TmStructSafeConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node src) {
src.asExpr()
src.asIndirectExpr()
.(FunctionCall)
.getTarget()
.hasGlobalName(["localtime", "localtime_r", "localtime_s", "gmtime", "gmtime_r", "gmtime_s"])
}

predicate isSink(DataFlow::Node sink) { sink.asExpr() instanceof AsctimeArg }
predicate isSink(DataFlow::Node sink) { exists(AsctimeArg arg | arg.asSink() = sink) }
}

module TmStructSafeFlow = DataFlow::Global<TmStructSafeConfig>;

from AsctimeArg fc
where
not isExcluded(fc, Contracts7Package::doNotPassInvalidDataToTheAsctimeFunctionQuery()) and
not TmStructSafeFlow::flowToExpr(fc)
not TmStructSafeFlow::flowTo(fc.asSink())
select fc,
"The function `asctime` and `asctime_r` should be discouraged. Unsanitized input can overflow the output buffer."
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
WARNING: module 'DataFlow' has been deprecated and may be removed in future (DoNotUsePointerArithmeticOnNonArrayObjectPointers.ql:28,60-68)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (DoNotUsePointerArithmeticOnNonArrayObjectPointers.ql:29,22-30)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (DoNotUsePointerArithmeticOnNonArrayObjectPointers.ql:41,20-28)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (DoNotUsePointerArithmeticOnNonArrayObjectPointers.ql:49,26-34)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (DoNotUsePointerArithmeticOnNonArrayObjectPointers.ql:70,3-11)
edges
| test.c:14:38:14:39 | p1 | test.c:18:10:18:11 | v1 | provenance | |
| test.c:14:38:14:39 | p1 | test.c:19:10:19:11 | v2 | provenance | |
| test.c:14:38:14:39 | p1 | test.c:16:13:16:14 | p1 | provenance | |
| test.c:14:38:14:39 | p1 | test.c:17:13:17:14 | p1 | provenance | |
| test.c:14:38:14:39 | p1 | test.c:20:10:20:11 | p1 | provenance | |
| test.c:14:38:14:39 | p1 | test.c:21:10:21:11 | p1 | provenance | |
| test.c:14:38:14:39 | p1 | test.c:22:9:22:10 | p1 | provenance | |
| test.c:14:38:14:39 | p1 | test.c:23:13:23:14 | p1 | provenance | |
| test.c:14:38:14:39 | p1 | test.c:24:9:24:10 | p1 | provenance | |
| test.c:14:38:14:39 | p1 | test.c:25:9:25:10 | p1 | provenance | |
| test.c:16:13:16:14 | p1 | test.c:18:10:18:13 | ... ++ | provenance | |
| test.c:17:13:17:14 | p1 | test.c:19:10:19:13 | ... -- | provenance | |
| test.c:51:30:51:38 | & ... | test.c:14:38:14:39 | p1 | provenance | |
nodes
| test.c:14:38:14:39 | p1 | semmle.label | p1 |
| test.c:18:10:18:11 | v1 | semmle.label | v1 |
| test.c:19:10:19:11 | v2 | semmle.label | v2 |
| test.c:16:13:16:14 | p1 | semmle.label | p1 |
| test.c:17:13:17:14 | p1 | semmle.label | p1 |
| test.c:18:10:18:13 | ... ++ | semmle.label | ... ++ |
| test.c:19:10:19:13 | ... -- | semmle.label | ... -- |
| test.c:20:10:20:11 | p1 | semmle.label | p1 |
| test.c:21:10:21:11 | p1 | semmle.label | p1 |
| test.c:22:9:22:10 | p1 | semmle.label | p1 |
Expand All @@ -32,8 +31,8 @@ nodes
| test.c:51:30:51:38 | & ... | semmle.label | & ... |
subpaths
#select
| test.c:18:10:18:11 | v1 | test.c:51:30:51:38 | & ... | test.c:18:10:18:11 | v1 | Pointer arithmetic on non-array object pointer. |
| test.c:19:10:19:11 | v2 | test.c:51:30:51:38 | & ... | test.c:19:10:19:11 | v2 | Pointer arithmetic on non-array object pointer. |
| test.c:18:10:18:13 | ... ++ | test.c:51:30:51:38 | & ... | test.c:18:10:18:13 | ... ++ | Pointer arithmetic on non-array object pointer. |
| test.c:19:10:19:13 | ... -- | test.c:51:30:51:38 | & ... | test.c:19:10:19:13 | ... -- | Pointer arithmetic on non-array object pointer. |
| test.c:20:10:20:11 | p1 | test.c:51:30:51:38 | & ... | test.c:20:10:20:11 | p1 | Pointer arithmetic on non-array object pointer. |
| test.c:21:10:21:11 | p1 | test.c:51:30:51:38 | & ... | test.c:21:10:21:11 | p1 | Pointer arithmetic on non-array object pointer. |
| test.c:22:9:22:10 | p1 | test.c:51:30:51:38 | & ... | test.c:22:9:22:10 | p1 | Pointer arithmetic on non-array object pointer. |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
WARNING: module 'DataFlow' has been deprecated and may be removed in future (DoNotAddOrSubtractAScaledIntegerToAPointer.ql:77,56-64)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (DoNotAddOrSubtractAScaledIntegerToAPointer.ql:78,22-30)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (DoNotAddOrSubtractAScaledIntegerToAPointer.ql:80,20-28)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (DoNotAddOrSubtractAScaledIntegerToAPointer.ql:89,45-53)
edges
| test.c:7:13:7:14 | p1 | test.c:9:9:9:10 | p1 | provenance | |
| test.c:16:19:16:41 | ... - ... | test.c:16:19:16:41 | ... - ... | provenance | |
| test.c:16:19:16:41 | ... - ... | test.c:18:26:18:31 | offset | provenance | |
| test.c:16:19:16:41 | ... - ... | test.c:29:6:29:11 | offset | provenance | |
| test.c:17:17:17:26 | sizeof(<expr>) | test.c:17:17:17:26 | sizeof(<expr>) | provenance | |
| test.c:17:17:17:26 | sizeof(<expr>) | test.c:23:9:23:12 | size | provenance | |
| test.c:29:6:29:11 | offset | test.c:7:13:7:14 | p1 | provenance | |
nodes
| test.c:7:13:7:14 | p1 | semmle.label | p1 |
| test.c:9:9:9:10 | p1 | semmle.label | p1 |
| test.c:16:19:16:41 | ... - ... | semmle.label | ... - ... |
| test.c:16:19:16:41 | ... - ... | semmle.label | ... - ... |
| test.c:17:17:17:26 | sizeof(<expr>) | semmle.label | sizeof(<expr>) |
| test.c:17:17:17:26 | sizeof(<expr>) | semmle.label | sizeof(<expr>) |
| test.c:18:26:18:31 | offset | semmle.label | offset |
| test.c:23:9:23:12 | size | semmle.label | size |
| test.c:25:9:25:18 | sizeof(<expr>) | semmle.label | sizeof(<expr>) |
| test.c:27:17:27:26 | sizeof(<expr>) | semmle.label | sizeof(<expr>) |
| test.c:27:12:27:26 | ... / ... | semmle.label | ... / ... |
| test.c:29:6:29:11 | offset | semmle.label | offset |
subpaths
#select
| test.c:9:9:9:10 | p1 | test.c:16:19:16:41 | ... - ... | test.c:9:9:9:10 | p1 | Scaled integer used in pointer arithmetic. |
| test.c:18:26:18:31 | offset | test.c:16:19:16:41 | ... - ... | test.c:18:26:18:31 | offset | Scaled integer used in pointer arithmetic. |
| test.c:23:9:23:12 | size | test.c:17:17:17:26 | sizeof(<expr>) | test.c:23:9:23:12 | size | Scaled integer used in pointer arithmetic. |
| test.c:25:9:25:18 | sizeof(<expr>) | test.c:25:9:25:18 | sizeof(<expr>) | test.c:25:9:25:18 | sizeof(<expr>) | Scaled integer used in pointer arithmetic. |
| test.c:27:17:27:26 | sizeof(<expr>) | test.c:27:17:27:26 | sizeof(<expr>) | test.c:27:17:27:26 | sizeof(<expr>) | Scaled integer used in pointer arithmetic. |
| test.c:27:12:27:26 | ... / ... | test.c:27:12:27:26 | ... / ... | test.c:27:12:27:26 | ... / ... | Scaled integer used in pointer arithmetic. |
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
WARNING: module 'DataFlow' has been deprecated and may be removed in future (CleanUpThreadSpecificStorage.ql:25,46-54)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (CleanUpThreadSpecificStorage.ql:26,22-30)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (CleanUpThreadSpecificStorage.ql:35,20-28)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (CleanUpThreadSpecificStorage.ql:45,35-43)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (CleanUpThreadSpecificStorage.ql:53,36-44)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (CleanUpThreadSpecificStorage.ql:55,36-44)
| test.c:27:3:27:12 | call to tss_create | Resources used by thread specific storage may not be cleaned up. |
| test.c:49:3:49:12 | call to tss_create | Resources used by thread specific storage may not be cleaned up. |
| test.c:71:3:71:12 | call to tss_create | Resources used by thread specific storage may not be cleaned up. |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,3 @@
WARNING: module 'DataFlow' has been deprecated and may be removed in future (AppropriateThreadObjectStorageDurations.ql:35,14-22)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (AppropriateThreadObjectStorageDurations.ql:37,22-30)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (AppropriateThreadObjectStorageDurations.ql:39,22-30)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (AppropriateThreadObjectStorageDurations.ql:42,45-53)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (AppropriateThreadObjectStorageDurations.ql:52,33-41)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (AppropriateThreadObjectStorageDurations.ql:52,58-66)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (AppropriateThreadObjectStorageDurations.ql:53,42-50)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (AppropriateThreadObjectStorageDurations.ql:56,9-17)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (AppropriateThreadObjectStorageDurations.ql:56,34-42)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (AppropriateThreadObjectStorageDurations.ql:57,9-17)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (AppropriateThreadObjectStorageDurations.ql:57,34-42)
WARNING: module 'TaintTracking' has been deprecated and may be removed in future (AppropriateThreadObjectStorageDurations.ql:42,9-22)
WARNING: module 'TaintTracking' has been deprecated and may be removed in future (AppropriateThreadObjectStorageDurations.ql:52,7-20)
| test.c:23:3:23:13 | call to thrd_create | $@ not declared with appropriate storage duration | test.c:23:24:23:29 | & ... | Shared object |
| test.c:74:3:74:13 | call to thrd_create | $@ not declared with appropriate storage duration | test.c:74:24:74:24 | p | Shared object |
| test.c:85:3:85:13 | call to thrd_create | $@ not declared with appropriate storage duration | test.c:85:24:85:24 | p | Shared object |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1 @@
WARNING: module 'DataFlow' has been deprecated and may be removed in future (ThreadObjectStorageDurationsNotInitialized.ql:32,38-46)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (ThreadObjectStorageDurationsNotInitialized.ql:35,5-13)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (ThreadObjectStorageDurationsNotInitialized.ql:35,30-38)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (ThreadObjectStorageDurationsNotInitialized.ql:36,5-13)
WARNING: module 'DataFlow' has been deprecated and may be removed in future (ThreadObjectStorageDurationsNotInitialized.ql:36,30-38)
| test.c:14:7:14:13 | call to tss_get | Call to a thread specific storage function from within a threaded context on an object that may not be owned by this thread. |
1 change: 0 additions & 1 deletion c/cert/test/rules/ERR30-C/ErrnoReadBeforeReturn.expected
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
WARNING: module 'DataFlow' has been deprecated and may be removed in future (ErrnoReadBeforeReturn.ql:46,7-15)
| test.c:69:7:69:11 | * ... | Do not read `errno` before checking the return value of function $@. | test.c:68:3:68:7 | call to ftell | call to ftell |
| test.c:69:7:69:11 | call to __errno_location | Do not read `errno` before checking the return value of function $@. | test.c:68:3:68:7 | call to ftell | call to ftell |
| test.c:70:5:70:10 | call to perror | Do not read `errno` before checking the return value of function $@. | test.c:68:3:68:7 | call to ftell | call to ftell |
1 change: 0 additions & 1 deletion c/cert/test/rules/ERR30-C/SetlocaleMightSetErrno.expected
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
WARNING: module 'DataFlow' has been deprecated and may be removed in future (SetlocaleMightSetErrno.ql:70,7-15)
| test.c:98:3:98:11 | call to setlocale | Do not read `errno` before checking the return value of a call to `setlocale`. |
| test.c:104:7:104:15 | call to setlocale | The value of `errno` may be different than `0` when `setlocale` is called. The following `errno` check might be invalid. |
Loading
Loading