From 748e4ca5d7bfd79c0d7f621046962cb5ab485169 Mon Sep 17 00:00:00 2001 From: Geno Date: Tue, 14 Sep 2021 09:14:07 +0200 Subject: [PATCH] be sure TokenReadClosed always closed also if decode of response does not work --- distributor/xmpp.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/distributor/xmpp.go b/distributor/xmpp.go index 5c8547c..b656204 100644 --- a/distributor/xmpp.go +++ b/distributor/xmpp.go @@ -122,16 +122,17 @@ func (s *XMPPService) Register(appName, token string) (string, string, error) { logger.Errorf("xmpp send IQ for register: %v", err) return "", "xmpp unable send iq to gateway", err } + defer func() { + if err := t.Close(); err != nil { + logger.Errorf("unable to close registration response %v", err) + } + }() d := xml.NewTokenDecoder(t) iqRegister := messages.RegisterIQ{} if err := d.Decode(&iqRegister); err != nil { logger.Errorf("xmpp recv IQ for register: %v", err) return "", "xmpp unable recv iq to gateway", err } - if err := t.Close(); err != nil { - logger.Errorf("unable to close registration response %v", err) - return "", "xmpp unable recv iq to gateway", err - } if endpoint := iqRegister.Register.Endpoint; endpoint != nil { logger.WithField("endpoint", endpoint.Body).Info("success") return endpoint.Body, "", nil