Fixed segfault in destructor when chaining 3 exceptions or more.
This commit is contained in:
parent
1d1a9cf604
commit
2cb8fef483
@ -4,6 +4,10 @@ VERSION 0.8.1cvs
|
|||||||
|
|
||||||
2005-12-04 Vincent Richard <vincent@vincent-richard.net>
|
2005-12-04 Vincent Richard <vincent@vincent-richard.net>
|
||||||
|
|
||||||
|
* exception.{hpp|cpp}: fixed segfault in destructor when destroying
|
||||||
|
an exception chain with more than 2 elements (thanks to Bertrand
|
||||||
|
Benoit).
|
||||||
|
|
||||||
* posixChildProcess.cpp: fixed a bug in argument vector; last argument
|
* posixChildProcess.cpp: fixed a bug in argument vector; last argument
|
||||||
was not NULL (thanks to Bertrand Benoit).
|
was not NULL (thanks to Bertrand Benoit).
|
||||||
|
|
||||||
|
@ -46,6 +46,12 @@ exception::exception(const string& what, const exception& other)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
exception::exception(const exception& e)
|
||||||
|
: std::exception(), m_what(e.what()), m_other(e.m_other == NULL ? NULL : e.m_other->clone())
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
exception::~exception() throw()
|
exception::~exception() throw()
|
||||||
{
|
{
|
||||||
delete (m_other);
|
delete (m_other);
|
||||||
|
@ -51,6 +51,8 @@ private:
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
exception(const string& what, const exception& other = NO_EXCEPTION);
|
exception(const string& what, const exception& other = NO_EXCEPTION);
|
||||||
|
exception(const exception& e);
|
||||||
|
|
||||||
virtual ~exception() throw();
|
virtual ~exception() throw();
|
||||||
|
|
||||||
/** Return a description of the error.
|
/** Return a description of the error.
|
||||||
|
Loading…
Reference in New Issue
Block a user