From 0a8a77e64ce4c314d8e6fa9eda8fc47f8cdef080 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Tue, 2 May 2017 14:46:03 +0200 Subject: Fix a segmentation fault when connecting to a server without a port fix #3260 --- CHANGELOG.rst | 6 ++++++ packaging/biboumi.spec.cmake | 4 ++++ src/irc/irc_client.cpp | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index f90700d..6f6f064 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -18,6 +18,12 @@ Version 5.0 - Botan’s TLS policies can be customized by the administrator, for each IRC server, with simple text files. +Version 4.3 - 2017-05-02 +======================== + + - Fix a segmentation fault that occured when trying to connect to an IRC + server without any port configured. + Version 4.2 - 2017-04-26 ======================== diff --git a/packaging/biboumi.spec.cmake b/packaging/biboumi.spec.cmake index fcf90c0..a92f9dc 100644 --- a/packaging/biboumi.spec.cmake +++ b/packaging/biboumi.spec.cmake @@ -62,6 +62,10 @@ make check %{?_smp_mflags} * ${RPM_DATE} Le Coz Florent - ${RPM_VERSION}-1 - Build latest git revision +* Wed May 2 2017 Le Coz Florent - 4.3-1 +- Fix a segmentation fault that occured when trying to connect + to an IRC server without any port configured. + * Wed Apr 26 2017 Le Coz Florent - 4.2-1 - Fix a build issue when LiteSQL is absent from the system diff --git a/src/irc/irc_client.cpp b/src/irc/irc_client.cpp index 90fad75..31d6278 100644 --- a/src/irc/irc_client.cpp +++ b/src/irc/irc_client.cpp @@ -183,6 +183,11 @@ void IrcClient::start() { if (this->is_connecting() || this->is_connected()) return; + if (this->ports_to_try.empty()) + { + this->bridge.send_xmpp_message(this->hostname, "", "Can not connect to IRC server: no port specified."); + return; + } std::string port; bool tls; std::tie(port, tls) = this->ports_to_try.top(); -- cgit v1.2.3