From 3c658e48ef2a0e0dfdc4593bf994e2c7300b4655 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Podg=C3=B3rski?= Date: Wed, 30 Oct 2024 14:17:19 +0100 Subject: [PATCH] Fix cloud-media panic: runtime error: slice bounds out of range [:-1] --- pkg/rtc/transport.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pkg/rtc/transport.go b/pkg/rtc/transport.go index a3665dd46..8c8fcf397 100644 --- a/pkg/rtc/transport.go +++ b/pkg/rtc/transport.go @@ -150,10 +150,19 @@ func (w wrappedICECandidatePairLogger) MarshalLogObject(e zapcore.ObjectEncoder) if w.pair.Remote != nil { e.AddString("remoteProtocol", w.pair.Remote.Protocol.String()) e.AddString("remoteCandidateType", w.pair.Remote.Typ.String()) - e.AddString("remoteAdddress", w.pair.Remote.Address[:len(w.pair.Remote.Address)-3]+"...") + + remoteAdddress := w.pair.Remote.Address + if l := len(remoteAdddress); l > 3 { + remoteAdddress = remoteAdddress[:l-3] + "..." + } + e.AddString("remoteAdddress", remoteAdddress) e.AddUint16("remotePort", w.pair.Remote.Port) if w.pair.Remote.RelatedAddress != "" { - e.AddString("relatedAdddress", w.pair.Remote.RelatedAddress[:len(w.pair.Remote.RelatedAddress)-3]+"...") + relatedAdddress := w.pair.Remote.RelatedAddress + if l := len(relatedAdddress); l > 3 { + relatedAdddress = relatedAdddress[:l-3] + "..." + } + e.AddString("relatedAdddress", relatedAdddress) e.AddUint16("relatedPort", w.pair.Remote.RelatedPort) } }