Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

net/textproto: missing argument to printf formatting in error string #37467

Closed
tomarus opened this issue Feb 26, 2020 · 4 comments
Closed

net/textproto: missing argument to printf formatting in error string #37467

tomarus opened this issue Feb 26, 2020 · 4 comments
Labels
FrozenDueToAge NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made.
Milestone

Comments

@tomarus
Copy link

tomarus commented Feb 26, 2020

In net/textproto there is a small error in the formatting of an error string in mustHaveFieldNameColon()

https://github.com/golang/go/blob/master/src/net/textproto/reader.go#L560

What version of Go are you using (go version)?

$ go version
go version go1.14 darwin/amd64

Does this issue reproduce with the latest release?

Yes

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/tommy/Library/Caches/go-build"
GOENV="/Users/tommy/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/tommy/dev/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/tommy/src/fork/textproto/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/sq/ksylgl5d00jg7f8vrbqvc2mh0000gn/T/go-build121111092=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

I've fed some broken MIME headers into textproto.

What did you expect to see?

malformed MIME header: missing colon: SOMEHEADER

What did you see instead?

malformed MIME header: missing colon: %!q(MISSING).

@gopherbot
Copy link

Change https://golang.org/cl/221297 mentions this issue: net/textproto: pass missing argument to fmt.Sprintf

@dgryski
Copy link
Contributor

dgryski commented Feb 27, 2020

It seems like go vet should have caught this.

Edit: Probably because the + makes the format string dynamic, and so neither go vet nor staticcheck look at dynamic format strings.

@ianlancetaylor
Copy link
Contributor

Yeah, I mentioned that in the CL comment but not here.

@cagedmantis cagedmantis added this to the Backlog milestone Feb 28, 2020
@cagedmantis cagedmantis added the NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made. label Feb 28, 2020
@cagedmantis
Copy link
Contributor

/cc @bradfitz @rsc

@golang golang locked and limited conversation to collaborators Mar 1, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made.
Projects
None yet
Development

No branches or pull requests

5 participants