in the super-rare case where we somehow get disconnected from SAM during a dest generate, log any errors returned by close

This commit is contained in:
eyedeekay
2025-05-26 22:31:39 -04:00
parent faf6b8e93e
commit fdb8745ee0

View File

@ -61,7 +61,12 @@ func (c *samClient) generateDestination(ctx context.Context, keyType string) (*I
if err != nil {
return nil, fmt.Errorf("connecting to SAM bridge: %w", err)
}
defer conn.Close()
// Ensure connection is always closed, even on error paths
defer func() {
if closeErr := conn.Close(); closeErr != nil {
log.WithError(closeErr).Debug("Error closing SAM connection")
}
}()
if err := c.handshake(ctx, conn); err != nil {
return nil, fmt.Errorf("SAM handshake failed: %w", err)