Skip to content

Commit a9010e6

Browse files
committed
Limit the byte buffer to 10 MB
Which should be plenty for image metadata.
1 parent dd86593 commit a9010e6

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

‎io.go‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,15 @@ func (e *streamReader) otherByteOrder() binary.ByteOrder {
9090
return binary.BigEndian
9191
}
9292

93+
// 10 MB should be plenty for image metadata.
94+
const maxBufSize = 10 * 1024 * 1024
95+
9396
// bufferedReader reads length bytes from the stream and returns a ReaderCloser.
9497
// It's important to call Close on the ReaderCloser when done.
9598
func (e *streamReader) bufferedReader(length int64) (readerCloser, error) {
99+
if length > maxBufSize {
100+
return nil, newInvalidFormatErrorf("length %d exceeds max %d", length, maxBufSize)
101+
}
96102
if length == 0 {
97103
return struct {
98104
io.ReadSeeker

0 commit comments

Comments
 (0)