diff options
Diffstat (limited to 'src/cmd/cgo/main.go')
-rw-r--r-- | src/cmd/cgo/main.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cmd/cgo/main.go b/src/cmd/cgo/main.go index e3434598b2..e2aa71acd8 100644 --- a/src/cmd/cgo/main.go +++ b/src/cmd/cgo/main.go @@ -357,6 +357,12 @@ func main() { // Apply trimpath to the file path. The path won't be read from after this point. input, _ = objabi.ApplyRewrites(input, *trimpath) + if strings.ContainsAny(input, "\r\n") { + // ParseGo, (*Package).writeOutput, and printer.Fprint in SourcePos mode + // all emit line directives, which don't permit newlines in the file path. + // Bail early if we see anything newline-like in the trimmed path. + fatalf("input path contains newline character: %q", input) + } goFiles[i] = input f := new(File) |