From a91cada4fb652b58d162f69c087a6e1d62619ecc Mon Sep 17 00:00:00 2001 From: fiaxh Date: Wed, 7 Apr 2021 23:39:02 +0200 Subject: Fix segfault on bad certificate with multiple xmpp records Co-authored-by: Marvin W --- xmpp-vala/src/core/direct_tls_xmpp_stream.vala | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'xmpp-vala/src/core/direct_tls_xmpp_stream.vala') diff --git a/xmpp-vala/src/core/direct_tls_xmpp_stream.vala b/xmpp-vala/src/core/direct_tls_xmpp_stream.vala index ca38b7bb..93c7e448 100644 --- a/xmpp-vala/src/core/direct_tls_xmpp_stream.vala +++ b/xmpp-vala/src/core/direct_tls_xmpp_stream.vala @@ -2,13 +2,13 @@ public class Xmpp.DirectTlsXmppStream : TlsXmppStream { string host; uint16 port; - TlsXmppStream.OnInvalidCert on_invalid_cert_outer; + TlsXmppStream.OnInvalidCertWrapper on_invalid_cert; - public DirectTlsXmppStream(Jid remote_name, string host, uint16 port, owned TlsXmppStream.OnInvalidCert on_invalid_cert) { + public DirectTlsXmppStream(Jid remote_name, string host, uint16 port, TlsXmppStream.OnInvalidCertWrapper on_invalid_cert) { base(remote_name); this.host = host; this.port = port; - this.on_invalid_cert_outer = (owned)on_invalid_cert; + this.on_invalid_cert = on_invalid_cert; } public override async void connect() throws IOStreamError { @@ -21,7 +21,7 @@ public class Xmpp.DirectTlsXmppStream : TlsXmppStream { tls_connection.set_advertised_protocols(new string[]{"xmpp-client"}); #endif tls_connection.accept_certificate.connect(on_invalid_certificate); - tls_connection.accept_certificate.connect((cert, flags) => on_invalid_cert_outer(cert, flags)); + tls_connection.accept_certificate.connect((cert, flags) => on_invalid_cert.func(cert, flags)); reset_stream(tls_connection); yield setup(); -- cgit v1.2.3-54-g00ecf