Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 300e3ea

Browse files
committed
C++: Add MaD model for 'CUrl'.
1 parent 1ea879a commit 300e3ea

2 files changed

Lines changed: 35 additions & 14 deletions

File tree

cpp/ql/lib/ext/CUrl.model.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
extensions:
2+
- addsTo:
3+
pack: codeql/cpp-all
4+
extensible: summaryModel
5+
data: # TODO this model can be improved a lot once we have MapKey content # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance
6+
- ["", "CUrl", True, "CUrl", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"]
7+
- ["", "CUrl", True, "CrackUrl", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"]
8+
- ["", "CUrl", True, "CreateUrl", "", "", "Argument[-1]", "Argument[*0]", "taint", "manual"]
9+
- ["", "CUrl", True, "GetExtraInfo", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"]
10+
- ["", "CUrl", True, "GetHostName", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"]
11+
- ["", "CUrl", True, "GetPassword", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"]
12+
- ["", "CUrl", True, "GetSchemeName", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"]
13+
- ["", "CUrl", True, "GetUrlPath", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"]
14+
- ["", "CUrl", True, "GetUserName", "", "", "Argument[-1]", "ReturnValue[*]", "taint", "manual"]
15+
- ["", "CUrl", True, "SetExtraInfo", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"]
16+
- ["", "CUrl", True, "SetHostName", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"]
17+
- ["", "CUrl", True, "SetPassword", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"]
18+
- ["", "CUrl", True, "SetSchemeName", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"]
19+
- ["", "CUrl", True, "SetUrlPath", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"]
20+
- ["", "CUrl", True, "SetUserName", "", "", "Argument[*0]", "Argument[-1]", "taint", "manual"]
21+
- ["", "CUrl", True, "operator=", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"]

cpp/ql/test/library-tests/dataflow/taint-tests/atl.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -850,50 +850,50 @@ void test_CUrl() {
850850
char* x = indirect_source<char>();
851851
CUrl url;
852852
url.CrackUrl(x, 0);
853-
sink(url); // $ MISSING: ir
854-
sink(url.GetExtraInfo()); // $ MISSING: ir
855-
sink(url.GetHostName()); // $ MISSING: ir
856-
sink(url.GetPassword()); // $ MISSING: ir
857-
sink(url.GetSchemeName()); // $ MISSING: ir
858-
sink(url.GetUrlPath()); // $ MISSING: ir
859-
sink(url.GetUserName()); // $ MISSING: ir
853+
sink(url); // $ ir
854+
sink(url.GetExtraInfo()); // $ ir
855+
sink(url.GetHostName()); // $ ir
856+
sink(url.GetPassword()); // $ ir
857+
sink(url.GetSchemeName()); // $ ir
858+
sink(url.GetUrlPath()); // $ ir
859+
sink(url.GetUserName()); // $ ir
860860

861861
{
862862
CUrl url2;
863863
DWORD len;
864864
char buffer[1024];
865865
url2.CrackUrl(x, 0);
866866
url2.CreateUrl(buffer, &len, 0);
867-
sink(buffer); // $ ast MISSING: ir
867+
sink(buffer); // $ ast ir
868868
}
869869
{
870870
CUrl url2;
871871
url2.SetExtraInfo(x);
872-
sink(url2); // $ MISSING: ir
872+
sink(url2); // $ ir
873873
}
874874
{
875875
CUrl url2;
876876
url2.SetHostName(x);
877-
sink(url2); // $ MISSING: ir
877+
sink(url2); // $ ir
878878
}
879879
{
880880
CUrl url2;
881881
url2.SetPassword(x);
882-
sink(url2); // $ MISSING: ir
882+
sink(url2); // $ ir
883883
}
884884
{
885885
CUrl url2;
886886
url2.SetSchemeName(x);
887-
sink(url2); // $ MISSING: ir
887+
sink(url2); // $ ir
888888
}
889889
{
890890
CUrl url2;
891891
url2.SetUrlPath(x);
892-
sink(url2); // $ MISSING: ir
892+
sink(url2); // $ ir
893893
}
894894
{
895895
CUrl url2;
896896
url2.SetUserName(x);
897-
sink(url2); // $ MISSING: ir
897+
sink(url2); // $ ir
898898
}
899899
}

0 commit comments

Comments
 (0)