summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdwin Mons <edwin.mons@isode.com>2018-09-28 14:17:55 (GMT)
committerEdwin Mons <edwin.mons@isode.com>2018-10-01 07:23:40 (GMT)
commitabd5ca5d4960765f25da426c3dd20e2316d75b59 (patch)
treedcf20ab2069f658b048a8bceebd2d997bafd132d /Swiften
parent1536284a15743f6ec41d3230177a24d245158a9d (diff)
downloadswift-abd5ca5d4960765f25da426c3dd20e2316d75b59.zip
swift-abd5ca5d4960765f25da426c3dd20e2316d75b59.tar.bz2
Catch numeric cast errors in BoostConnectionServer
When BoostConnectionServer tries to set up a listener, it casts an int to an unsigned short, which may throw an uncaught exception if the cast fails. Test-Information: Unit tests pass on Debian 9 Test server code no longer crashes when it tries to set up a listener on an invalid port. Change-Id: If6b920e54481ce6bf174df01d14ad12eff90e3f4
Diffstat (limited to 'Swiften')
-rw-r--r--Swiften/Network/BoostConnectionServer.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/Swiften/Network/BoostConnectionServer.cpp b/Swiften/Network/BoostConnectionServer.cpp
index 34b5799..f25f915 100644
--- a/Swiften/Network/BoostConnectionServer.cpp
+++ b/Swiften/Network/BoostConnectionServer.cpp
@@ -58,6 +58,9 @@ boost::optional<BoostConnectionServer::Error> BoostConnectionServer::tryStart()
58 return UnknownError; 58 return UnknownError;
59 } 59 }
60 } 60 }
61 catch (const boost::numeric::bad_numeric_cast&) {
62 return UnknownError;
63 }
61 return boost::optional<Error>(); 64 return boost::optional<Error>();
62} 65}
63 66