Remove redundant taint-tracking from MarshalingFunction and UnmarshalingFunction classes in EncodingXml module.

This commit is contained in:
Slavomir
2020-09-09 14:20:17 +02:00
parent 947bbabf62
commit 64a61bd648

View File

@@ -7,16 +7,12 @@ import go
/** Provides models of commonly used functions in the `encoding/xml` package. */
module EncodingXml {
/** The `Marshal` or `MarshalIndent` function in the `encoding/xml` package. */
class MarshalFunction extends TaintTracking::FunctionModel, MarshalingFunction::Range {
private class MarshalFunction extends MarshalingFunction::Range {
MarshalFunction() {
this.hasQualifiedName("encoding/xml", "Marshal") or
this.hasQualifiedName("encoding/xml", "MarshalIndent")
}
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
inp = getAnInput() and outp = getOutput()
}
override FunctionInput getAnInput() { result.isParameter(0) }
override FunctionOutput getOutput() { result.isResult(0) }
@@ -24,13 +20,9 @@ module EncodingXml {
override string getFormat() { result = "XML" }
}
private class UnmarshalFunction extends TaintTracking::FunctionModel, UnmarshalingFunction::Range {
private class UnmarshalFunction extends UnmarshalingFunction::Range {
UnmarshalFunction() { this.hasQualifiedName("encoding/xml", "Unmarshal") }
override predicate hasTaintFlow(FunctionInput inp, FunctionOutput outp) {
inp = getAnInput() and outp = getOutput()
}
override FunctionInput getAnInput() { result.isParameter(0) }
override FunctionOutput getOutput() { result.isParameter(1) }