Skip to content

Commit 28eda36

Browse files
authored
Merge pull request #3483 from fluent/issue3475-fix-crash-on-tls-error-log
TLSServer: Fix crash on logging errors
2 parents 50c773b + 5b71d51 commit 28eda36

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

lib/fluent/plugin_helper/server.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -709,13 +709,15 @@ def try_tls_accept
709709
return true
710710
end
711711
rescue Errno::EPIPE, Errno::ECONNRESET, Errno::ETIMEDOUT, Errno::ECONNREFUSED, Errno::EHOSTUNREACH => e
712+
peeraddr = (@_handler_socket.peeraddr rescue PEERADDR_FAILED)
712713
@log.trace "unexpected error before accepting TLS connection",
713-
host: @_handler_socket.peeraddr[3], port: @_handler_socket.peeraddr[1], error: e
714+
addr: peeraddr[3], host: peeraddr[2], port: peeraddr[1], error: e
714715
close rescue nil
715716
rescue OpenSSL::SSL::SSLError => e
717+
peeraddr = (@_handler_socket.peeraddr rescue PEERADDR_FAILED)
716718
# Use same log level as on_readable
717719
@log.warn "unexpected error before accepting TLS connection by OpenSSL",
718-
host: @_handler_socket.peeraddr[3], port: @_handler_socket.peeraddr[1], error: e
720+
addr: peeraddr[3], host: peeraddr[2], port: peeraddr[1], error: e
719721
close rescue nil
720722
end
721723

0 commit comments

Comments
 (0)