From: Nigel Tao Date: Fri, 28 Feb 2014 04:18:35 +0000 (+1100) Subject: image/jpeg: return a FormatError when hitting an unexpected io.EOF X-Git-Tag: go1.3beta1~533 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=c2013e8a35107f13dcab14671be199f5a3375508;p=gostls13.git image/jpeg: return a FormatError when hitting an unexpected io.EOF inside Huffman-encoded data. Fixes #6450. LGTM=r R=r CC=golang-codereviews https://golang.org/cl/69830043 --- diff --git a/src/pkg/image/jpeg/huffman.go b/src/pkg/image/jpeg/huffman.go index 9b731fdc4f..f53d873a53 100644 --- a/src/pkg/image/jpeg/huffman.go +++ b/src/pkg/image/jpeg/huffman.go @@ -37,6 +37,9 @@ func (d *decoder) ensureNBits(n int) error { for d.b.n < n { c, err := d.r.ReadByte() if err != nil { + if err == io.EOF { + return FormatError("short Huffman data") + } return err } d.b.a = d.b.a<<8 | uint32(c) @@ -50,6 +53,9 @@ func (d *decoder) ensureNBits(n int) error { if c == 0xff { c, err = d.r.ReadByte() if err != nil { + if err == io.EOF { + return FormatError("short Huffman data") + } return err } if c != 0x00 {