fix(proxy): maybe memory leak on failed NAT check

Maybe related: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40243
This commit is contained in:
WofWca 2024-09-07 14:39:20 +04:00 committed by Shelikhoo
parent f44aa279fe
commit 51edbbfd26
No known key found for this signature in database
GPG key ID: 4C9764E9FE80A3DC

View file

@ -817,6 +817,11 @@ func (sf *SnowflakeProxy) checkNATType(config webrtc.Configuration, probeURL str
if err != nil {
return fmt.Errorf("Error making WebRTC connection: %w", err)
}
defer func() {
if err := pc.Close(); err != nil {
log.Printf("Probetest: error calling pc.Close: %v", err)
}
}()
offer := pc.LocalDescription()
log.Printf("Probetest offer: \n\t%s", strings.ReplaceAll(offer.SDP, "\n", "\n\t"))
@ -874,8 +879,5 @@ func (sf *SnowflakeProxy) checkNATType(config webrtc.Configuration, probeURL str
log.Printf("NAT Type measurement: %v -> %v\n", prevNATType, getCurrentNATType())
if err := pc.Close(); err != nil {
log.Printf("error calling pc.Close: %v", err)
}
return nil
}