From 5b8ba12cb35d3dfaad52fa3c0f1f1f39aca5d175 Mon Sep 17 00:00:00 2001 From: funnywwh Date: Sat, 12 Nov 2022 09:21:34 +0000 Subject: [PATCH] fix slave output over buffersize --- webtty/webtty.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/webtty/webtty.go b/webtty/webtty.go index 90c8c31..78116cf 100644 --- a/webtty/webtty.go +++ b/webtty/webtty.go @@ -72,7 +72,12 @@ func (wt *WebTTY) Run(ctx context.Context) error { errs <- func() error { buffer := make([]byte, wt.bufferSize) for { - n, err := wt.slave.Read(buffer) + //base64 length + effectiveBufferSize := wt.bufferSize - 1 + //max raw data length + maxChunkSize := int(effectiveBufferSize/4) * 3 + + n, err := wt.slave.Read(buffer[:maxChunkSize]) if err != nil { return ErrSlaveClosed }