Skip to content

Commit 6d3c1a1

Browse files
author
Esben Sparre Andreasen
committed
JS: introduce fsModuleMember
1 parent 8de269e commit 6d3c1a1

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

javascript/ql/src/semmle/javascript/frameworks/NodeJSLib.qll

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,17 @@ module NodeJSLib {
336336
)
337337
}
338338

339+
/**
340+
* A member `member` from module `fs` or its drop-in replacements `graceful-fs` or `fs-extra`.
341+
*/
342+
private DataFlow::SourceNode fsModuleMember(string member) {
343+
exists (string moduleName |
344+
moduleName = "fs" or
345+
moduleName = "graceful-fs" or
346+
moduleName = "fs-extra" |
347+
result = DataFlow::moduleMember(moduleName, member)
348+
)
349+
}
339350

340351
/**
341352
* A call to a method from module `fs`, `graceful-fs` or `fs-extra`.
@@ -344,9 +355,7 @@ module NodeJSLib {
344355
string methodName;
345356

346357
NodeJSFileSystemAccess() {
347-
exists (string moduleName | this = DataFlow::moduleMember(moduleName, methodName).getACall() |
348-
moduleName = "fs" or moduleName = "graceful-fs" or moduleName = "fs-extra"
349-
)
358+
this = fsModuleMember(methodName).getACall()
350359
}
351360

352361
override DataFlow::Node getAPathArgument() {

0 commit comments

Comments
 (0)