Skip to content

Commit 146d85a

Browse files
committed
Convert DoNotAccessAClosedFile to the new dataflow library
1 parent f265690 commit 146d85a

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

cpp/common/src/codingstandards/cpp/rules/donotaccessaclosedfile/DoNotAccessAClosedFile.qll

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import cpp
77
import codingstandards.cpp.Customizations
88
import codingstandards.cpp.Exclusions
9-
import semmle.code.cpp.dataflow.DataFlow
9+
import semmle.code.cpp.dataflow.new.DataFlow
1010
import codingstandards.cpp.standardlibrary.FileAccess
1111
import semmle.code.cpp.controlflow.SubBasicBlocks
1212

@@ -40,9 +40,10 @@ SubBasicBlock followsFileClose(SubBasicBlock source, Expr closedFile) {
4040

4141
// the argument of a call to function `fclose(FILE*)` is subsequently accessed
4242
predicate closedFileAccess(Expr closedFile, Expr fileAccess) {
43-
exists(DataFlow::DefinitionByReferenceNode def |
43+
exists(DataFlow::DefinitionByReferenceNode def, DataFlow::Node va |
44+
va.asIndirectExpr() = fileAccess.(VariableAccess) and
4445
def.asDefiningArgument() = closedFile and
45-
DataFlow::localFlow(def, DataFlow::exprNode(fileAccess.(VariableAccess)))
46+
DataFlow::localFlow(def, va)
4647
)
4748
}
4849

0 commit comments

Comments
 (0)