summaryrefslogtreecommitdiffstats
path: root/src/CLI
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-12-16 15:09:55 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2009-12-16 15:09:55 +0100
commit707f64b85c8a1b88923617ff72bd8a4ca562f3bd (patch)
tree19543e9df7d87a2204e944a332158137805e9a92 /src/CLI
parent1eae9a2bcc8583bf54ec7027ead9b0ae01861481 (diff)
downloadabrt-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.cpp12
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)