Skip to content

Commit 3c3f155

Browse files
committed
[WAHA] handle panic in handleRetryReceipt
fix for SenderChainKey when there's nil inside it's fields
1 parent 9058023 commit 3c3f155

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

retry.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"crypto/sha256"
1313
"encoding/binary"
1414
"fmt"
15+
"runtime/debug"
1516
"time"
1617

1718
"go.mau.fi/libsignal/ecc"
@@ -127,6 +128,12 @@ type incomingRetryKey struct {
127128

128129
// handleRetryReceipt handles an incoming retry receipt for an outgoing message.
129130
func (cli *Client) handleRetryReceipt(ctx context.Context, receipt *events.Receipt, node *waBinary.Node) error {
131+
defer func() {
132+
if r := recover(); r != nil {
133+
buf := debug.Stack()
134+
cli.Log.Errorf("panic in handleRetryReceipt: %v\n%s", r, buf)
135+
}
136+
}()
130137
retryChild, ok := node.GetOptionalChildByTag("retry")
131138
if !ok {
132139
return &ElementMissingError{Tag: "retry", In: "retry receipt"}

0 commit comments

Comments
 (0)