limit Config.MaxIncoming{Uni}Streams to 2^60

This commit is contained in:
Marten Seemann
2020-08-11 10:44:24 +07:00
parent ce24f7e46f
commit 69df425318
5 changed files with 44 additions and 1 deletions

View File

@@ -1,6 +1,10 @@
package quic
import "github.com/lucas-clemente/quic-go/internal/protocol"
import (
"errors"
"github.com/lucas-clemente/quic-go/internal/protocol"
)
// Clone clones a Config
func (c *Config) Clone() *Config {
@@ -8,6 +12,19 @@ func (c *Config) Clone() *Config {
return &copy
}
func validateConfig(config *Config) error {
if config == nil {
return nil
}
if config.MaxIncomingStreams > 1<<60 {
return errors.New("invalid value for Config.MaxIncomingStreams")
}
if config.MaxIncomingUniStreams > 1<<60 {
return errors.New("invalid value for Config.MaxIncomingUniStreams")
}
return nil
}
// populateServerConfig populates fields in the quic.Config with their default values, if none are set
// it may be called with nil
func populateServerConfig(config *Config) *Config {