Skip to content

Commit bbdf97e

Browse files
authored
Merge pull request #55 from microsoft/dilan/chanel-sql-tedious
Chanel PR (SQL Tedious Package)
2 parents fd51a7d + 8e05f2a commit bbdf97e

File tree

1 file changed

+24
-0
lines changed
  • javascript/ql/lib/semmle/javascript/frameworks

1 file changed

+24
-0
lines changed

javascript/ql/lib/semmle/javascript/frameworks/SQL.qll

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,3 +454,27 @@ private module SpannerCsv {
454454
}
455455
}
456456
}
457+
458+
/**
459+
* Provides classes modeling the `tedious` package.
460+
*/
461+
private module Tedious {
462+
API::Node tedious() { result = API::moduleImport("tedious")}
463+
464+
class QueryCall extends DatabaseAccess, API::CallNode {
465+
QueryCall(){
466+
this = tedious().getMember("Connection").getInstance().getMember("execSql").getACall()
467+
}
468+
override DataFlow::Node getAQueryArgument(){
469+
exists(API::NewNode request |
470+
request = tedious().getMember("Request").getAnInstantiation() and
471+
this.getParameter(0).asSink() = request.getReturn().getAValueReachableFromSource() and
472+
result = request.getArgument(0)
473+
)
474+
}
475+
}
476+
477+
class QueryString extends SQL::SqlString {
478+
QueryString() {this = any(QueryCall qc).getAQueryArgument()}
479+
}
480+
}

0 commit comments

Comments
 (0)