From c844c84a71eff9af18b494c73542b5a231070cd6 Mon Sep 17 00:00:00 2001 From: Tan Yifeng Date: Sat, 3 Sep 2022 09:38:20 +0800 Subject: [PATCH] Truncate the output buffer to outLen size when getsockopt with TCP_INFO. Signed-off-by: Tan Yifeng --- pkg/sentry/socket/hostinet/socket.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/sentry/socket/hostinet/socket.go b/pkg/sentry/socket/hostinet/socket.go index 4357bdee2..ba8a4ce3e 100644 --- a/pkg/sentry/socket/hostinet/socket.go +++ b/pkg/sentry/socket/hostinet/socket.go @@ -410,6 +410,10 @@ func (s *socketOpsCommon) GetSockOpt(t *kernel.Task, level int, name int, optVal optlen = sizeofInt32 case linux.TCP_INFO: optlen = linux.SizeOfTCPInfo + // Truncate the output buffer to outLen size. + if optlen > outLen { + optlen = outLen + } case linux.TCP_CONGESTION: optlen = outLen }