Limit binary data to 21MB

This commit is contained in:
Jae Kwon
2015-07-07 18:35:21 -07:00
parent 5734496819
commit 1f34236948
5 changed files with 44 additions and 10 deletions

View File

@ -19,6 +19,10 @@ func ReadByteSlice(r io.Reader, n *int64, err *error) []byte {
if *err != nil {
return nil
}
if MaxBinaryReadSize < *n+int64(length) {
*err = ErrMaxBinaryReadSizeReached
return nil
}
var buf, tmpBuf []byte
// read one ByteSliceChunk at a time and append
@ -50,6 +54,11 @@ func ReadByteSlices(r io.Reader, n *int64, err *error) [][]byte {
if *err != nil {
return nil
}
if MaxBinaryReadSize < *n+int64(length) {
*err = ErrMaxBinaryReadSizeReached
return nil
}
bzz := make([][]byte, length)
for i := 0; i < length; i++ {
bz := ReadByteSlice(r, n, err)