Opened 10 years ago
Last modified 10 years ago
#8337 closed Bugs
The internal representation of "std::string(this->code()->message())" escapes, but is destroyed when it exits scope. — at Initial Version
Reported by: | Owned by: | Anthony Williams | |
---|---|---|---|
Milestone: | Boost 1.54.0 | Component: | thread |
Version: | Boost 1.52.0 | Severity: | Problem |
Keywords: | Cc: |
Description
Coverity static analysis reported the following problem:
class BOOST_SYMBOL_VISIBLE future_error
: public std::logic_error
{
system::error_code ec_;
public:
future_error(system::error_code ec) : logic_error(ec.message()),
ec_(ec)
{ }
const system::error_code& code() const BOOST_NOEXCEPT {
return ec_;
} const char* what() const BOOST_THREAD_NOEXCEPT_OR_THROW {
CID 10932 (#2 of 2): Wrapper object use after free (WRAPPER_ESCAPE)1. escape: The internal representation of "std::string(this->code()->message())" escapes, but is destroyed when it exits scope.
return code().message().c_str();
}
};