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

Commit 539127b

Browse files
committed
Remove models for methods for which there already is a models for the interface they implement.
1 parent a094ddb commit 539127b

13 files changed

Lines changed: 8 additions & 187 deletions

ql/src/semmle/go/frameworks/stdlib/ArchiveTar.qll

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,23 +36,15 @@ module ArchiveTar {
3636
MethodModels() {
3737
// Methods:
3838
// signature: func (*Header).FileInfo() os.FileInfo
39-
this.(Method).hasQualifiedName("archive/tar", "Header", "FileInfo") and
39+
hasQualifiedName("archive/tar", "Header", "FileInfo") and
4040
(inp.isReceiver() and outp.isResult())
4141
or
4242
// signature: func (*Reader).Next() (*Header, error)
43-
this.(Method).hasQualifiedName("archive/tar", "Reader", "Next") and
43+
hasQualifiedName("archive/tar", "Reader", "Next") and
4444
(inp.isReceiver() and outp.isResult(0))
4545
or
46-
// signature: func (*Reader).Read(b []byte) (int, error)
47-
this.(Method).hasQualifiedName("archive/tar", "Reader", "Read") and
48-
(inp.isReceiver() and outp.isParameter(0))
49-
or
50-
// signature: func (*Writer).Write(b []byte) (int, error)
51-
this.(Method).hasQualifiedName("archive/tar", "Writer", "Write") and
52-
(inp.isParameter(0) and outp.isReceiver())
53-
or
5446
// signature: func (*Writer).WriteHeader(hdr *Header) error
55-
this.(Method).hasQualifiedName("archive/tar", "Writer", "WriteHeader") and
47+
hasQualifiedName("archive/tar", "Writer", "WriteHeader") and
5648
(inp.isParameter(0) and outp.isReceiver())
5749
}
5850

ql/src/semmle/go/frameworks/stdlib/Bufio.qll

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,6 @@ module Bufio {
103103
this.hasQualifiedName("bufio", "Reader", "Reset") and
104104
(inp.isParameter(0) and outp.isReceiver())
105105
or
106-
// signature: func (*Reader).WriteTo(w io.Writer) (n int64, err error)
107-
this.hasQualifiedName("bufio", "Reader", "WriteTo") and
108-
(inp.isReceiver() and outp.isParameter(0))
109-
or
110106
// signature: func (*Scanner).Bytes() []byte
111107
this.hasQualifiedName("bufio", "Scanner", "Bytes") and
112108
(inp.isReceiver() and outp.isResult())
@@ -115,21 +111,9 @@ module Bufio {
115111
this.hasQualifiedName("bufio", "Scanner", "Text") and
116112
(inp.isReceiver() and outp.isResult())
117113
or
118-
// signature: func (*Writer).ReadFrom(r io.Reader) (n int64, err error)
119-
this.hasQualifiedName("bufio", "Writer", "ReadFrom") and
120-
(inp.isParameter(0) and outp.isReceiver())
121-
or
122114
// signature: func (*Writer).Reset(w io.Writer)
123115
this.hasQualifiedName("bufio", "Writer", "Reset") and
124116
(inp.isReceiver() and outp.isParameter(0))
125-
or
126-
// signature: func (*Writer).Write(p []byte) (nn int, err error)
127-
this.hasQualifiedName("bufio", "Writer", "Write") and
128-
(inp.isParameter(0) and outp.isReceiver())
129-
or
130-
// signature: func (*Writer).WriteString(s string) (int, error)
131-
this.hasQualifiedName("bufio", "Writer", "WriteString") and
132-
(inp.isParameter(0) and outp.isReceiver())
133117
}
134118

135119
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {

ql/src/semmle/go/frameworks/stdlib/Bytes.qll

Lines changed: 5 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -151,52 +151,24 @@ module Bytes {
151151

152152
MethodModels() {
153153
// signature: func (*Buffer).Bytes() []byte
154-
this.hasQualifiedName("bytes", "Buffer", "Bytes") and
154+
hasQualifiedName("bytes", "Buffer", "Bytes") and
155155
(inp.isReceiver() and outp.isResult())
156156
or
157157
// signature: func (*Buffer).Next(n int) []byte
158-
this.hasQualifiedName("bytes", "Buffer", "Next") and
158+
hasQualifiedName("bytes", "Buffer", "Next") and
159159
(inp.isReceiver() and outp.isResult())
160160
or
161161
// signature: func (*Buffer).ReadBytes(delim byte) (line []byte, err error)
162-
this.hasQualifiedName("bytes", "Buffer", "ReadBytes") and
162+
hasQualifiedName("bytes", "Buffer", "ReadBytes") and
163163
(inp.isReceiver() and outp.isResult(0))
164164
or
165-
// signature: func (*Buffer).ReadFrom(r io.Reader) (n int64, err error)
166-
this.hasQualifiedName("bytes", "Buffer", "ReadFrom") and
167-
(inp.isParameter(0) and outp.isReceiver())
168-
or
169165
// signature: func (*Buffer).ReadString(delim byte) (line string, err error)
170-
this.hasQualifiedName("bytes", "Buffer", "ReadString") and
166+
hasQualifiedName("bytes", "Buffer", "ReadString") and
171167
(inp.isReceiver() and outp.isResult(0))
172168
or
173-
// signature: func (*Buffer).String() string
174-
this.hasQualifiedName("bytes", "Buffer", "String") and
175-
(inp.isReceiver() and outp.isResult())
176-
or
177-
// signature: func (*Buffer).Write(p []byte) (n int, err error)
178-
this.hasQualifiedName("bytes", "Buffer", "Write") and
179-
(inp.isParameter(0) and outp.isReceiver())
180-
or
181-
// signature: func (*Buffer).WriteString(s string) (n int, err error)
182-
this.hasQualifiedName("bytes", "Buffer", "WriteString") and
183-
(inp.isParameter(0) and outp.isReceiver())
184-
or
185-
// signature: func (*Buffer).WriteTo(w io.Writer) (n int64, err error)
186-
this.hasQualifiedName("bytes", "Buffer", "WriteTo") and
187-
(inp.isReceiver() and outp.isParameter(0))
188-
or
189-
// signature: func (*Reader).ReadAt(b []byte, off int64) (n int, err error)
190-
this.hasQualifiedName("bytes", "Reader", "ReadAt") and
191-
(inp.isReceiver() and outp.isParameter(0))
192-
or
193169
// signature: func (*Reader).Reset(b []byte)
194-
this.hasQualifiedName("bytes", "Reader", "Reset") and
170+
hasQualifiedName("bytes", "Reader", "Reset") and
195171
(inp.isParameter(0) and outp.isReceiver())
196-
or
197-
// signature: func (*Reader).WriteTo(w io.Writer) (n int64, err error)
198-
this.hasQualifiedName("bytes", "Reader", "WriteTo") and
199-
(inp.isReceiver() and outp.isParameter(0))
200172
}
201173

202174
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {

ql/src/semmle/go/frameworks/stdlib/CompressFlate.qll

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,6 @@ module CompressFlate {
4242
this.hasQualifiedName("compress/flate", "Writer", "Reset") and
4343
(inp.isReceiver() and outp.isParameter(0))
4444
or
45-
// signature: func (*Writer).Write(data []byte) (n int, err error)
46-
this.hasQualifiedName("compress/flate", "Writer", "Write") and
47-
(inp.isParameter(0) and outp.isReceiver())
48-
or
4945
// signature: func (Resetter).Reset(r io.Reader, dict []byte) error
5046
this.implements("compress/flate", "Resetter", "Reset") and
5147
(inp.isParameter(0) and outp.isReceiver())

ql/src/semmle/go/frameworks/stdlib/CompressGzip.qll

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,6 @@ module CompressGzip {
4141
// signature: func (*Writer).Reset(w io.Writer)
4242
this.hasQualifiedName("compress/gzip", "Writer", "Reset") and
4343
(inp.isReceiver() and outp.isParameter(0))
44-
or
45-
// signature: func (*Writer).Write(p []byte) (int, error)
46-
this.hasQualifiedName("compress/gzip", "Writer", "Write") and
47-
(inp.isParameter(0) and outp.isReceiver())
4844
}
4945

5046
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {

ql/src/semmle/go/frameworks/stdlib/CompressZlib.qll

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,6 @@ module CompressZlib {
4646
this.hasQualifiedName("compress/zlib", "Writer", "Reset") and
4747
(inp.isReceiver() and outp.isParameter(0))
4848
or
49-
// signature: func (*Writer).Write(p []byte) (n int, err error)
50-
this.hasQualifiedName("compress/zlib", "Writer", "Write") and
51-
(inp.isParameter(0) and outp.isReceiver())
52-
or
5349
// signature: func (Resetter).Reset(r io.Reader, dict []byte) error
5450
this.implements("compress/zlib", "Resetter", "Reset") and
5551
(inp.isParameter(0) and outp.isReceiver())

ql/src/semmle/go/frameworks/stdlib/Expvar.qll

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,10 @@ module Expvar {
2323
this.hasQualifiedName("expvar", "Map", "Set") and
2424
(inp.isParameter(_) and outp.isReceiver())
2525
or
26-
// signature: func (*Map).String() string
27-
this.hasQualifiedName("expvar", "Map", "String") and
28-
(inp.isReceiver() and outp.isResult())
29-
or
3026
// signature: func (*String).Set(value string)
3127
this.hasQualifiedName("expvar", "String", "Set") and
3228
(inp.isParameter(0) and outp.isReceiver())
3329
or
34-
// signature: func (*String).String() string
35-
this.hasQualifiedName("expvar", "String", "String") and
36-
(inp.isReceiver() and outp.isResult())
37-
or
3830
// signature: func (*String).Value() string
3931
this.hasQualifiedName("expvar", "String", "Value") and
4032
(inp.isReceiver() and outp.isResult())

ql/src/semmle/go/frameworks/stdlib/MimeMultipart.qll

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@ module MimeMultipart {
3434
this.hasQualifiedName("mime/multipart", "FileHeader", "Open") and
3535
(inp.isReceiver() and outp.isResult(0))
3636
or
37-
// signature: func (*Part).Read(d []byte) (n int, err error)
38-
this.hasQualifiedName("mime/multipart", "Part", "Read") and
39-
(inp.isReceiver() and outp.isParameter(0))
40-
or
4137
// signature: func (*Reader).NextPart() (*Part, error)
4238
this.hasQualifiedName("mime/multipart", "Reader", "NextPart") and
4339
(inp.isReceiver() and outp.isResult(0))

ql/src/semmle/go/frameworks/stdlib/MimeQuotedprintable.qll

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,4 @@ module MimeQuotedprintable {
2424
input = inp and output = outp
2525
}
2626
}
27-
28-
private class MethodModels extends TaintTracking::FunctionModel, Method {
29-
FunctionInput inp;
30-
FunctionOutput outp;
31-
32-
MethodModels() {
33-
// signature: func (*Reader).Read(p []byte) (n int, err error)
34-
this.hasQualifiedName("mime/quotedprintable", "Reader", "Read") and
35-
(inp.isReceiver() and outp.isParameter(0))
36-
or
37-
// signature: func (*Writer).Write(p []byte) (n int, err error)
38-
this.hasQualifiedName("mime/quotedprintable", "Writer", "Write") and
39-
(inp.isParameter(0) and outp.isReceiver())
40-
}
41-
42-
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {
43-
input = inp and output = outp
44-
}
45-
}
4627
}

ql/src/semmle/go/frameworks/stdlib/Net.qll

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -54,18 +54,6 @@ module Net {
5454
FunctionOutput outp;
5555

5656
MethodModels() {
57-
// signature: func (*Buffers).Read(p []byte) (n int, err error)
58-
this.hasQualifiedName("net", "Buffers", "Read") and
59-
(inp.isReceiver() and outp.isParameter(0))
60-
or
61-
// signature: func (*Buffers).WriteTo(w io.Writer) (n int64, err error)
62-
this.hasQualifiedName("net", "Buffers", "WriteTo") and
63-
(inp.isReceiver() and outp.isParameter(0))
64-
or
65-
// signature: func (*IPConn).ReadFrom(b []byte) (int, Addr, error)
66-
this.hasQualifiedName("net", "IPConn", "ReadFrom") and
67-
(inp.isReceiver() and outp.isParameter(0))
68-
or
6957
// signature: func (*IPConn).ReadFromIP(b []byte) (int, *IPAddr, error)
7058
this.hasQualifiedName("net", "IPConn", "ReadFromIP") and
7159
(inp.isReceiver() and outp.isParameter(0))
@@ -86,18 +74,10 @@ module Net {
8674
this.hasQualifiedName("net", "IPConn", "WriteMsgIP") and
8775
(inp.isParameter([0, 1]) and outp.isReceiver())
8876
or
89-
// signature: func (*IPConn).WriteTo(b []byte, addr Addr) (int, error)
90-
this.hasQualifiedName("net", "IPConn", "WriteTo") and
91-
(inp.isParameter(0) and outp.isReceiver())
92-
or
9377
// signature: func (*IPConn).WriteToIP(b []byte, addr *IPAddr) (int, error)
9478
this.hasQualifiedName("net", "IPConn", "WriteToIP") and
9579
(inp.isParameter(0) and outp.isReceiver())
9680
or
97-
// signature: func (*TCPConn).ReadFrom(r io.Reader) (int64, error)
98-
this.hasQualifiedName("net", "TCPConn", "ReadFrom") and
99-
(inp.isParameter(0) and outp.isReceiver())
100-
or
10181
// signature: func (*TCPConn).SyscallConn() (syscall.RawConn, error)
10282
this.hasQualifiedName("net", "TCPConn", "SyscallConn") and
10383
(
@@ -122,10 +102,6 @@ module Net {
122102
inp.isResult(0) and outp.isReceiver()
123103
)
124104
or
125-
// signature: func (*UDPConn).ReadFrom(b []byte) (int, Addr, error)
126-
this.hasQualifiedName("net", "UDPConn", "ReadFrom") and
127-
(inp.isReceiver() and outp.isParameter(0))
128-
or
129105
// signature: func (*UDPConn).ReadFromUDP(b []byte) (int, *UDPAddr, error)
130106
this.hasQualifiedName("net", "UDPConn", "ReadFromUDP") and
131107
(inp.isReceiver() and outp.isParameter(0))
@@ -146,18 +122,10 @@ module Net {
146122
this.hasQualifiedName("net", "UDPConn", "WriteMsgUDP") and
147123
(inp.isParameter([0, 1]) and outp.isReceiver())
148124
or
149-
// signature: func (*UDPConn).WriteTo(b []byte, addr Addr) (int, error)
150-
this.hasQualifiedName("net", "UDPConn", "WriteTo") and
151-
(inp.isParameter(0) and outp.isReceiver())
152-
or
153125
// signature: func (*UDPConn).WriteToUDP(b []byte, addr *UDPAddr) (int, error)
154126
this.hasQualifiedName("net", "UDPConn", "WriteToUDP") and
155127
(inp.isParameter(0) and outp.isReceiver())
156128
or
157-
// signature: func (*UnixConn).ReadFrom(b []byte) (int, Addr, error)
158-
this.hasQualifiedName("net", "UnixConn", "ReadFrom") and
159-
(inp.isReceiver() and outp.isParameter(0))
160-
or
161129
// signature: func (*UnixConn).ReadFromUnix(b []byte) (int, *UnixAddr, error)
162130
this.hasQualifiedName("net", "UnixConn", "ReadFromUnix") and
163131
(inp.isReceiver() and outp.isParameter(0))
@@ -178,10 +146,6 @@ module Net {
178146
this.hasQualifiedName("net", "UnixConn", "WriteMsgUnix") and
179147
(inp.isParameter([0, 1]) and outp.isReceiver())
180148
or
181-
// signature: func (*UnixConn).WriteTo(b []byte, addr Addr) (int, error)
182-
this.hasQualifiedName("net", "UnixConn", "WriteTo") and
183-
(inp.isParameter(0) and outp.isReceiver())
184-
or
185149
// signature: func (*UnixConn).WriteToUnix(b []byte, addr *UnixAddr) (int, error)
186150
this.hasQualifiedName("net", "UnixConn", "WriteToUnix") and
187151
(inp.isParameter(0) and outp.isReceiver())

0 commit comments

Comments
 (0)