Skip to content
This repository was archived by the owner on Jan 5, 2023. It is now read-only.

Commit ecff1e6

Browse files
author
Sauyon Lee
committed
Unqualify uses of FunctionInput and FunctionOutput
1 parent d8374ad commit ecff1e6

2 files changed

Lines changed: 39 additions & 39 deletions

File tree

ql/src/semmle/go/Concepts.qll

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -653,10 +653,10 @@ class MarshalingFunction extends Function {
653653
MarshalingFunction() { this = self }
654654

655655
/** Gets an input that is encoded by this function. */
656-
DataFlow::FunctionInput getAnInput() { result = self.getAnInput() }
656+
FunctionInput getAnInput() { result = self.getAnInput() }
657657

658658
/** Gets the output that contains the encoded data produced by this function. */
659-
DataFlow::FunctionOutput getOutput() { result = self.getOutput() }
659+
FunctionOutput getOutput() { result = self.getOutput() }
660660

661661
/** Gets an identifier for the format this function encodes into, such as "JSON". */
662662
string getFormat() { result = self.getFormat() }
@@ -672,10 +672,10 @@ module MarshalingFunction {
672672
*/
673673
abstract class Range extends Function {
674674
/** Gets an input that is encoded by this function. */
675-
abstract DataFlow::FunctionInput getAnInput();
675+
abstract FunctionInput getAnInput();
676676

677677
/** Gets the output that contains the encoded data produced by this function. */
678-
abstract DataFlow::FunctionOutput getOutput();
678+
abstract FunctionOutput getOutput();
679679

680680
/** Gets an identifier for the format this function encodes into, such as "JSON". */
681681
abstract string getFormat();
@@ -694,10 +694,10 @@ class UnmarshalingFunction extends Function {
694694
UnmarshalingFunction() { this = self }
695695

696696
/** Gets an input that is decoded by this function. */
697-
DataFlow::FunctionInput getAnInput() { result = self.getAnInput() }
697+
FunctionInput getAnInput() { result = self.getAnInput() }
698698

699699
/** Gets the output that contains the decoded data produced by this function. */
700-
DataFlow::FunctionOutput getOutput() { result = self.getOutput() }
700+
FunctionOutput getOutput() { result = self.getOutput() }
701701

702702
/** Gets an identifier for the format this function decodes from, such as "JSON". */
703703
string getFormat() { result = self.getFormat() }
@@ -713,10 +713,10 @@ module UnmarshalingFunction {
713713
*/
714714
abstract class Range extends Function {
715715
/** Gets an input that is decoded by this function. */
716-
abstract DataFlow::FunctionInput getAnInput();
716+
abstract FunctionInput getAnInput();
717717

718718
/** Gets the output that contains the decoded data produced by this function. */
719-
abstract DataFlow::FunctionOutput getOutput();
719+
abstract FunctionOutput getOutput();
720720

721721
/** Gets an identifier for the format this function decodes from, such as "JSON". */
722722
abstract string getFormat();

ql/src/semmle/go/frameworks/Stdlib.qll

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import go
88
class StringMethod extends TaintTracking::FunctionModel, Method {
99
StringMethod() { getName() = "String" and getNumParameter() = 0 }
1010

11-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
11+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
1212
inp.isReceiver() and outp.isResult()
1313
}
1414
}
@@ -20,7 +20,7 @@ class StringMethod extends TaintTracking::FunctionModel, Method {
2020
private class AppendFunction extends TaintTracking::FunctionModel {
2121
AppendFunction() { this = Builtin::append() }
2222

23-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
23+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
2424
inp.isParameter(_) and outp.isResult()
2525
}
2626
}
@@ -32,7 +32,7 @@ private class AppendFunction extends TaintTracking::FunctionModel {
3232
private class CopyFunction extends TaintTracking::FunctionModel {
3333
CopyFunction() { this = Builtin::copy() }
3434

35-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
35+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
3636
inp.isParameter(1) and outp.isParameter(0)
3737
}
3838
}
@@ -60,7 +60,7 @@ module PathFilePath {
6060
)
6161
}
6262

63-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
63+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
6464
inp.isParameter(_) and
6565
outp.isResult(_)
6666
}
@@ -84,7 +84,7 @@ module Fmt {
8484
class Sprinter extends TaintTracking::FunctionModel {
8585
Sprinter() { this.hasQualifiedName("fmt", ["Sprint", "Sprintf", "Sprintln"]) }
8686

87-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
87+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
8888
inp.isParameter(_) and outp.isResult()
8989
}
9090
}
@@ -440,7 +440,7 @@ module OS {
440440
class Expand extends TaintTracking::FunctionModel {
441441
Expand() { hasQualifiedName("os", "Expand") }
442442

443-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
443+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
444444
inp.isParameter(0) and outp.isResult()
445445
}
446446
}
@@ -449,7 +449,7 @@ module OS {
449449
class ExpandEnv extends TaintTracking::FunctionModel {
450450
ExpandEnv() { hasQualifiedName("os", "ExpandEnv") }
451451

452-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
452+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
453453
inp.isParameter(0) and outp.isResult()
454454
}
455455
}
@@ -470,7 +470,7 @@ module Path {
470470
)
471471
}
472472

473-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
473+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
474474
inp.isParameter(_) and
475475
outp.isResult(_)
476476
}
@@ -483,7 +483,7 @@ module Strings {
483483
class Join extends TaintTracking::FunctionModel {
484484
Join() { hasQualifiedName("strings", "Join") }
485485

486-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
486+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
487487
inp.isParameter([0 .. 1]) and outp.isResult()
488488
}
489489
}
@@ -492,7 +492,7 @@ module Strings {
492492
class Repeat extends TaintTracking::FunctionModel {
493493
Repeat() { hasQualifiedName("strings", "Repeat") }
494494

495-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
495+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
496496
inp.isParameter(0) and outp.isResult()
497497
}
498498
}
@@ -503,7 +503,7 @@ module Strings {
503503
hasQualifiedName("strings", "Replace") or hasQualifiedName("strings", "ReplaceAll")
504504
}
505505

506-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
506+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
507507
(inp.isParameter(0) or inp.isParameter(2)) and
508508
outp.isResult()
509509
}
@@ -515,7 +515,7 @@ module Strings {
515515
exists(string split | split.matches("Split%") | hasQualifiedName("strings", split))
516516
}
517517

518-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
518+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
519519
inp.isParameter(0) and outp.isResult()
520520
}
521521
}
@@ -526,7 +526,7 @@ module Strings {
526526
exists(string conv | conv.matches("To%") | hasQualifiedName("strings", conv))
527527
}
528528

529-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
529+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
530530
inp.isParameter(getNumParameter() - 1) and outp.isResult()
531531
}
532532
}
@@ -535,7 +535,7 @@ module Strings {
535535
class Trimmer extends TaintTracking::FunctionModel {
536536
Trimmer() { exists(string split | split.matches("Trim%") | hasQualifiedName("strings", split)) }
537537

538-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
538+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
539539
inp.isParameter(0) and outp.isResult()
540540
}
541541
}
@@ -591,7 +591,7 @@ module URL {
591591
hasQualifiedName("net/url", "PathEscape") or hasQualifiedName("net/url", "QueryEscape")
592592
}
593593

594-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
594+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
595595
inp.isParameter(0) and outp.isResult()
596596
}
597597
}
@@ -602,7 +602,7 @@ module URL {
602602
hasQualifiedName("net/url", "PathUnescape") or hasQualifiedName("net/url", "QueryUnescape")
603603
}
604604

605-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
605+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
606606
inp.isParameter(0) and outp.isResult(0)
607607
}
608608
}
@@ -616,7 +616,7 @@ module URL {
616616
hasQualifiedName("net/url", "ParseRequestURI")
617617
}
618618

619-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
619+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
620620
inp.isParameter(0) and
621621
outp.isResult(0)
622622
or
@@ -638,7 +638,7 @@ module URL {
638638
)
639639
}
640640

641-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
641+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
642642
inp.isReceiver() and outp.isResult()
643643
}
644644
}
@@ -647,7 +647,7 @@ module URL {
647647
class UrlMarshalBinary extends TaintTracking::FunctionModel, Method {
648648
UrlMarshalBinary() { hasQualifiedName("net/url", "URL", "MarshalBinary") }
649649

650-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
650+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
651651
inp.isReceiver() and outp.isResult(0)
652652
}
653653
}
@@ -656,7 +656,7 @@ module URL {
656656
class UrlResolveReference extends TaintTracking::FunctionModel, Method {
657657
UrlResolveReference() { hasQualifiedName("net/url", "URL", "ResolveReference") }
658658

659-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
659+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
660660
(inp.isReceiver() or inp.isParameter(0)) and
661661
outp.isResult()
662662
}
@@ -669,7 +669,7 @@ module URL {
669669
hasQualifiedName("net/url", "UserPassword")
670670
}
671671

672-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
672+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
673673
inp.isParameter(_) and outp.isResult()
674674
}
675675
}
@@ -683,7 +683,7 @@ module URL {
683683
)
684684
}
685685

686-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
686+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
687687
inp.isReceiver() and outp.isResult(0)
688688
}
689689
}
@@ -697,7 +697,7 @@ module URL {
697697
)
698698
}
699699

700-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
700+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
701701
inp.isReceiver() and outp.isResult()
702702
}
703703
}
@@ -797,27 +797,27 @@ module EncodingJson {
797797
this.hasQualifiedName("encoding/json", "MarshalIndent")
798798
}
799799

800-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
800+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
801801
inp = getAnInput() and outp = getOutput()
802802
}
803803

804-
override DataFlow::FunctionInput getAnInput() { result.isParameter(0) }
804+
override FunctionInput getAnInput() { result.isParameter(0) }
805805

806-
override DataFlow::FunctionOutput getOutput() { result.isResult(0) }
806+
override FunctionOutput getOutput() { result.isResult(0) }
807807

808808
override string getFormat() { result = "JSON" }
809809
}
810810

811811
private class UnmarshalFunction extends TaintTracking::FunctionModel, UnmarshalingFunction::Range {
812812
UnmarshalFunction() { this.hasQualifiedName("encoding/json", "Unmarshal") }
813813

814-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
814+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
815815
inp = getAnInput() and outp = getOutput()
816816
}
817817

818-
override DataFlow::FunctionInput getAnInput() { result.isParameter(0) }
818+
override FunctionInput getAnInput() { result.isParameter(0) }
819819

820-
override DataFlow::FunctionOutput getOutput() { result.isParameter(1) }
820+
override FunctionOutput getOutput() { result.isParameter(1) }
821821

822822
override string getFormat() { result = "JSON" }
823823
}
@@ -828,7 +828,7 @@ module EncodingHex {
828828
private class DecodeStringFunction extends TaintTracking::FunctionModel {
829829
DecodeStringFunction() { this.hasQualifiedName("encoding/hex", "DecodeString") }
830830

831-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
831+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
832832
inp.isParameter(0) and
833833
outp.isResult(0)
834834
}
@@ -840,7 +840,7 @@ module CryptoCipher {
840840
private class AeadOpenFunction extends TaintTracking::FunctionModel, Method {
841841
AeadOpenFunction() { this.hasQualifiedName("crypto/cipher", "AEAD", "Open") }
842842

843-
override predicate hasTaintFlow(DataFlow::FunctionInput inp, DataFlow::FunctionOutput outp) {
843+
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
844844
inp.isParameter(2) and
845845
outp.isResult(0)
846846
}

0 commit comments

Comments
 (0)