]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Limit decoded bencode string lengths to 32 bits
authorMatt Joiner <anacrolix@gmail.com>
Wed, 29 Sep 2021 06:56:01 +0000 (16:56 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Wed, 29 Sep 2021 06:56:01 +0000 (16:56 +1000)
Found in fuzzing

bencode/decode.go

index 0cb04b91554e03561f8df4bacd5eb6df8ba96bfe..768c9c7ba43cf27659f2c716a713758dd84ded72 100644 (file)
@@ -154,7 +154,7 @@ func (d *Decoder) parseString(v reflect.Value) error {
 
        // read the string length first
        d.readUntil(':')
-       length, err := strconv.ParseInt(bytesAsString(d.buf.Bytes()), 10, 0)
+       length, err := strconv.ParseInt(bytesAsString(d.buf.Bytes()), 10, 32)
        checkForIntParseError(err, start)
 
        defer d.buf.Reset()