From b315c4a741dd68e58929c60400a67babc0ffed0e Mon Sep 17 00:00:00 2001 From: jsvisa Date: Wed, 27 Sep 2023 23:48:11 +0800 Subject: [PATCH] internal/flags: validate port Signed-off-by: jsvisa --- internal/flags/flags.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 69e9743556..d975d3bbdd 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -375,3 +375,13 @@ func eachName(f cli.Flag, fn func(string)) { fn(name) } } + +// ValidatePort validates the port number is in the valid range. +func ValidatePort(name string) func(*cli.Context, int) error { + return func(ctx *cli.Context, port int) error { + if port < 0 || port >= 65535 { + return fmt.Errorf("Flag %s value %v out of range[0-65535]", name, port) + } + return nil + } +}