diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-12-16 15:09:55 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-12-16 15:09:55 +0100 |
commit | 707f64b85c8a1b88923617ff72bd8a4ca562f3bd (patch) | |
tree | 19543e9df7d87a2204e944a332158137805e9a92 /src/CLI | |
parent | 1eae9a2bcc8583bf54ec7027ead9b0ae01861481 (diff) | |
download | abrt-707f64b85c8a1b88923617ff72bd8a4ca562f3bd.tar.gz abrt-707f64b85c8a1b88923617ff72bd8a4ca562f3bd.tar.xz abrt-707f64b85c8a1b88923617ff72bd8a4ca562f3bd.zip |
prevent destructors from throwing exceptions; check curl_easy_init errors
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'src/CLI')
-rw-r--r-- | src/CLI/ABRTSocket.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/CLI/ABRTSocket.cpp b/src/CLI/ABRTSocket.cpp index d31c7a4f..13531342 100644 --- a/src/CLI/ABRTSocket.cpp +++ b/src/CLI/ABRTSocket.cpp @@ -13,7 +13,17 @@ CABRTSocket::CABRTSocket() : m_nSocket(-1) CABRTSocket::~CABRTSocket() { - Disconnect(); + /* Paranoia. In C++, destructor will abort() if it was called while unwinding + * the stack and it throws an exception. + */ + try + { + Disconnect(); + } + catch (...) + { + error_msg_and_die("Internal error"); + } } void CABRTSocket::Send(const std::string& pMessage) |