summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRoger Peppe <rogpeppe@gmail.com>2010-05-13 12:49:48 -0700
committerRoger Peppe <rogpeppe@gmail.com>2010-05-13 12:49:48 -0700
commit7b8120b513628c94fcbe0427e6da6574bd47efd8 (patch)
treea0a7abe47884ed315ac6b9b531a0b1676e272130 /src
parent3264ec2dbb7a551845537c907df3a044908f8311 (diff)
downloadgolang-7b8120b513628c94fcbe0427e6da6574bd47efd8.tar.gz
Prevent Printf crashing when giving an extra nil argument.
R=rsc, r CC=golang-dev http://codereview.appspot.com/1195041 Committer: Rob Pike <r@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/pkg/fmt/print.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/pkg/fmt/print.go b/src/pkg/fmt/print.go
index fb1c3f707..15b7c5145 100644
--- a/src/pkg/fmt/print.go
+++ b/src/pkg/fmt/print.go
@@ -1053,8 +1053,10 @@ func (p *pp) doprintf(format string, a []interface{}) {
p.buf.Write(extraBytes)
for ; fieldnum < len(a); fieldnum++ {
field := a[fieldnum]
- p.buf.WriteString(reflect.Typeof(field).String())
- p.buf.WriteByte('=')
+ if field != nil {
+ p.buf.WriteString(reflect.Typeof(field).String())
+ p.buf.WriteByte('=')
+ }
p.printField(field, false, false, 0)
if fieldnum+1 < len(a) {
p.buf.Write(commaSpaceBytes)