diff options
author | Roger Peppe <rogpeppe@gmail.com> | 2010-05-13 12:49:48 -0700 |
---|---|---|
committer | Roger Peppe <rogpeppe@gmail.com> | 2010-05-13 12:49:48 -0700 |
commit | 7b8120b513628c94fcbe0427e6da6574bd47efd8 (patch) | |
tree | a0a7abe47884ed315ac6b9b531a0b1676e272130 /src | |
parent | 3264ec2dbb7a551845537c907df3a044908f8311 (diff) | |
download | golang-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.go | 6 |
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) |