]> Cypherpunks repositories - gostls13.git/commitdiff
image/jpeg: handle fill bytes.
authorNigel Tao <nigeltao@golang.org>
Wed, 7 Nov 2012 23:36:29 +0000 (10:36 +1100)
committerNigel Tao <nigeltao@golang.org>
Wed, 7 Nov 2012 23:36:29 +0000 (10:36 +1100)
Fixes #4337.

R=r, minux.ma
CC=golang-dev
https://golang.org/cl/6814098

src/pkg/image/jpeg/reader.go

index 5b1e61774ecee042a4a33a02e75454b639ad74f6..24dd65defcc75b96de8a1906e86a75c60d404587 100644 (file)
@@ -236,6 +236,14 @@ func (d *decoder) decode(r io.Reader, configOnly bool) (image.Image, error) {
                        return nil, FormatError("missing 0xff marker start")
                }
                marker := d.tmp[1]
+               for marker == 0xff {
+                       // Section B.1.1.2 says, "Any marker may optionally be preceded by any
+                       // number of fill bytes, which are bytes assigned code X'FF'".
+                       marker, err = d.r.ReadByte()
+                       if err != nil {
+                               return nil, err
+                       }
+               }
                if marker == eoiMarker { // End Of Image.
                        break
                }