@@ -8,101 +8,101 @@ import (
88)
99
1010type AllowPair struct {
11- err string
12- fun string
11+ Err string
12+ Fun string
1313}
1414
1515var allowedErrors = []AllowPair {
1616 // pkg/archive/tar
17- {err : "io.EOF" , fun : "(*archive/tar.Reader).Next" },
18- {err : "io.EOF" , fun : "(*archive/tar.Reader).Read" },
17+ {Err : "io.EOF" , Fun : "(*archive/tar.Reader).Next" },
18+ {Err : "io.EOF" , Fun : "(*archive/tar.Reader).Read" },
1919 // pkg/bufio
20- {err : "io.EOF" , fun : "(*bufio.Reader).Discard" },
21- {err : "io.EOF" , fun : "(*bufio.Reader).Peek" },
22- {err : "io.EOF" , fun : "(*bufio.Reader).Read" },
23- {err : "io.EOF" , fun : "(*bufio.Reader).ReadByte" },
24- {err : "io.EOF" , fun : "(*bufio.Reader).ReadBytes" },
25- {err : "io.EOF" , fun : "(*bufio.Reader).ReadLine" },
26- {err : "io.EOF" , fun : "(*bufio.Reader).ReadSlice" },
27- {err : "io.EOF" , fun : "(*bufio.Reader).ReadString" },
28- {err : "io.EOF" , fun : "(*bufio.Scanner).Scan" },
20+ {Err : "io.EOF" , Fun : "(*bufio.Reader).Discard" },
21+ {Err : "io.EOF" , Fun : "(*bufio.Reader).Peek" },
22+ {Err : "io.EOF" , Fun : "(*bufio.Reader).Read" },
23+ {Err : "io.EOF" , Fun : "(*bufio.Reader).ReadByte" },
24+ {Err : "io.EOF" , Fun : "(*bufio.Reader).ReadBytes" },
25+ {Err : "io.EOF" , Fun : "(*bufio.Reader).ReadLine" },
26+ {Err : "io.EOF" , Fun : "(*bufio.Reader).ReadSlice" },
27+ {Err : "io.EOF" , Fun : "(*bufio.Reader).ReadString" },
28+ {Err : "io.EOF" , Fun : "(*bufio.Scanner).Scan" },
2929 // pkg/bytes
30- {err : "io.EOF" , fun : "(*bytes.Buffer).Read" },
31- {err : "io.EOF" , fun : "(*bytes.Buffer).ReadByte" },
32- {err : "io.EOF" , fun : "(*bytes.Buffer).ReadBytes" },
33- {err : "io.EOF" , fun : "(*bytes.Buffer).ReadRune" },
34- {err : "io.EOF" , fun : "(*bytes.Buffer).ReadString" },
35- {err : "io.EOF" , fun : "(*bytes.Reader).Read" },
36- {err : "io.EOF" , fun : "(*bytes.Reader).ReadAt" },
37- {err : "io.EOF" , fun : "(*bytes.Reader).ReadByte" },
38- {err : "io.EOF" , fun : "(*bytes.Reader).ReadRune" },
39- {err : "io.EOF" , fun : "(*bytes.Reader).ReadString" },
30+ {Err : "io.EOF" , Fun : "(*bytes.Buffer).Read" },
31+ {Err : "io.EOF" , Fun : "(*bytes.Buffer).ReadByte" },
32+ {Err : "io.EOF" , Fun : "(*bytes.Buffer).ReadBytes" },
33+ {Err : "io.EOF" , Fun : "(*bytes.Buffer).ReadRune" },
34+ {Err : "io.EOF" , Fun : "(*bytes.Buffer).ReadString" },
35+ {Err : "io.EOF" , Fun : "(*bytes.Reader).Read" },
36+ {Err : "io.EOF" , Fun : "(*bytes.Reader).ReadAt" },
37+ {Err : "io.EOF" , Fun : "(*bytes.Reader).ReadByte" },
38+ {Err : "io.EOF" , Fun : "(*bytes.Reader).ReadRune" },
39+ {Err : "io.EOF" , Fun : "(*bytes.Reader).ReadString" },
4040 // pkg/database/sql
41- {err : "database/sql.ErrNoRows" , fun : "(*database/sql.Row).Scan" },
41+ {Err : "database/sql.ErrNoRows" , Fun : "(*database/sql.Row).Scan" },
4242 // pkg/debug/elf
43- {err : "io.EOF" , fun : "debug/elf.Open" },
44- {err : "io.EOF" , fun : "debug/elf.NewFile" },
43+ {Err : "io.EOF" , Fun : "debug/elf.Open" },
44+ {Err : "io.EOF" , Fun : "debug/elf.NewFile" },
4545 // pkg/io
46- {err : "io.EOF" , fun : "(io.ReadCloser).Read" },
47- {err : "io.EOF" , fun : "(io.Reader).Read" },
48- {err : "io.EOF" , fun : "(io.ReaderAt).ReadAt" },
49- {err : "io.EOF" , fun : "(*io.LimitedReader).Read" },
50- {err : "io.EOF" , fun : "(*io.SectionReader).Read" },
51- {err : "io.EOF" , fun : "(*io.SectionReader).ReadAt" },
52- {err : "io.ErrClosedPipe" , fun : "(*io.PipeWriter).Write" },
53- {err : "io.ErrShortBuffer" , fun : "io.ReadAtLeast" },
54- {err : "io.ErrUnexpectedEOF" , fun : "io.ReadAtLeast" },
55- {err : "io.EOF" , fun : "io.ReadFull" },
56- {err : "io.ErrUnexpectedEOF" , fun : "io.ReadFull" },
46+ {Err : "io.EOF" , Fun : "(io.ReadCloser).Read" },
47+ {Err : "io.EOF" , Fun : "(io.Reader).Read" },
48+ {Err : "io.EOF" , Fun : "(io.ReaderAt).ReadAt" },
49+ {Err : "io.EOF" , Fun : "(*io.LimitedReader).Read" },
50+ {Err : "io.EOF" , Fun : "(*io.SectionReader).Read" },
51+ {Err : "io.EOF" , Fun : "(*io.SectionReader).ReadAt" },
52+ {Err : "io.ErrClosedPipe" , Fun : "(*io.PipeWriter).Write" },
53+ {Err : "io.ErrShortBuffer" , Fun : "io.ReadAtLeast" },
54+ {Err : "io.ErrUnexpectedEOF" , Fun : "io.ReadAtLeast" },
55+ {Err : "io.EOF" , Fun : "io.ReadFull" },
56+ {Err : "io.ErrUnexpectedEOF" , Fun : "io.ReadFull" },
5757 // pkg/net/http
58- {err : "net/http.ErrServerClosed" , fun : "(*net/http.Server).ListenAndServe" },
59- {err : "net/http.ErrServerClosed" , fun : "(*net/http.Server).ListenAndServeTLS" },
60- {err : "net/http.ErrServerClosed" , fun : "(*net/http.Server).Serve" },
61- {err : "net/http.ErrServerClosed" , fun : "(*net/http.Server).ServeTLS" },
62- {err : "net/http.ErrServerClosed" , fun : "net/http.ListenAndServe" },
63- {err : "net/http.ErrServerClosed" , fun : "net/http.ListenAndServeTLS" },
64- {err : "net/http.ErrServerClosed" , fun : "net/http.Serve" },
65- {err : "net/http.ErrServerClosed" , fun : "net/http.ServeTLS" },
58+ {Err : "net/http.ErrServerClosed" , Fun : "(*net/http.Server).ListenAndServe" },
59+ {Err : "net/http.ErrServerClosed" , Fun : "(*net/http.Server).ListenAndServeTLS" },
60+ {Err : "net/http.ErrServerClosed" , Fun : "(*net/http.Server).Serve" },
61+ {Err : "net/http.ErrServerClosed" , Fun : "(*net/http.Server).ServeTLS" },
62+ {Err : "net/http.ErrServerClosed" , Fun : "net/http.ListenAndServe" },
63+ {Err : "net/http.ErrServerClosed" , Fun : "net/http.ListenAndServeTLS" },
64+ {Err : "net/http.ErrServerClosed" , Fun : "net/http.Serve" },
65+ {Err : "net/http.ErrServerClosed" , Fun : "net/http.ServeTLS" },
6666 // pkg/os
67- {err : "io.EOF" , fun : "(*os.File).Read" },
68- {err : "io.EOF" , fun : "(*os.File).ReadAt" },
69- {err : "io.EOF" , fun : "(*os.File).ReadDir" },
70- {err : "io.EOF" , fun : "(*os.File).Readdir" },
71- {err : "io.EOF" , fun : "(*os.File).Readdirnames" },
67+ {Err : "io.EOF" , Fun : "(*os.File).Read" },
68+ {Err : "io.EOF" , Fun : "(*os.File).ReadAt" },
69+ {Err : "io.EOF" , Fun : "(*os.File).ReadDir" },
70+ {Err : "io.EOF" , Fun : "(*os.File).Readdir" },
71+ {Err : "io.EOF" , Fun : "(*os.File).Readdirnames" },
7272 // pkg/strings
73- {err : "io.EOF" , fun : "(*strings.Reader).Read" },
74- {err : "io.EOF" , fun : "(*strings.Reader).ReadAt" },
75- {err : "io.EOF" , fun : "(*strings.Reader).ReadByte" },
76- {err : "io.EOF" , fun : "(*strings.Reader).ReadRune" },
73+ {Err : "io.EOF" , Fun : "(*strings.Reader).Read" },
74+ {Err : "io.EOF" , Fun : "(*strings.Reader).ReadAt" },
75+ {Err : "io.EOF" , Fun : "(*strings.Reader).ReadByte" },
76+ {Err : "io.EOF" , Fun : "(*strings.Reader).ReadRune" },
7777 // pkg/context
78- {err : "context.DeadlineExceeded" , fun : "(context.Context).Err" },
79- {err : "context.Canceled" , fun : "(context.Context).Err" },
78+ {Err : "context.DeadlineExceeded" , Fun : "(context.Context).Err" },
79+ {Err : "context.Canceled" , Fun : "(context.Context).Err" },
8080 // pkg/encoding/json
81- {err : "io.EOF" , fun : "(*encoding/json.Decoder).Decode" },
81+ {Err : "io.EOF" , Fun : "(*encoding/json.Decoder).Decode" },
8282 // pkg/encoding/csv
83- {err : "io.EOF" , fun : "(*encoding/csv.Reader).Read" },
83+ {Err : "io.EOF" , Fun : "(*encoding/csv.Reader).Read" },
8484 // pkg/mime/multipart
85- {err : "io.EOF" , fun : "(*mime/multipart.Reader).NextPart" },
86- {err : "io.EOF" , fun : "(*mime/multipart.Reader).NextRawPart" },
87- {err : "mime/multipart.ErrMessageTooLarge" , fun : "(*mime/multipart.Reader).ReadForm" },
85+ {Err : "io.EOF" , Fun : "(*mime/multipart.Reader).NextPart" },
86+ {Err : "io.EOF" , Fun : "(*mime/multipart.Reader).NextRawPart" },
87+ {Err : "mime/multipart.ErrMessageTooLarge" , Fun : "(*mime/multipart.Reader).ReadForm" },
8888}
8989
9090var allowedErrorsMap = make (map [string ]map [string ]struct {})
9191
9292func allowedMapAppend (ap []AllowPair ) {
9393 for _ , pair := range ap {
94- if _ , ok := allowedErrorsMap [pair .err ]; ! ok {
95- allowedErrorsMap [pair .err ] = make (map [string ]struct {})
94+ if _ , ok := allowedErrorsMap [pair .Err ]; ! ok {
95+ allowedErrorsMap [pair .Err ] = make (map [string ]struct {})
9696 }
97- allowedErrorsMap [pair.err ][pair.fun ] = struct {}{}
97+ allowedErrorsMap [pair.Err ][pair.Fun ] = struct {}{}
9898 }
9999}
100100
101101var allowedErrorWildcards = []AllowPair {
102102 // pkg/syscall
103- {err : "syscall.E" , fun : "syscall." },
103+ {Err : "syscall.E" , Fun : "syscall." },
104104 // golang.org/x/sys/unix
105- {err : "golang.org/x/sys/unix.E" , fun : "golang.org/x/sys/unix." },
105+ {Err : "golang.org/x/sys/unix.E" , Fun : "golang.org/x/sys/unix." },
106106}
107107
108108func allowedWildcardAppend (ap []AllowPair ) {
@@ -117,7 +117,7 @@ func isAllowedErrAndFunc(err, fun string) bool {
117117 }
118118
119119 for _ , allow := range allowedErrorWildcards {
120- if strings .HasPrefix (fun , allow .fun ) && strings .HasPrefix (err , allow .err ) {
120+ if strings .HasPrefix (fun , allow .Fun ) && strings .HasPrefix (err , allow .Err ) {
121121 return true
122122 }
123123 }
0 commit comments