[Boost-bugs] [Boost C++ Libraries] #8337: The internal representation of "std::string(this->code()->message())" escapes, but is destroyed when it exits scope.

Subject: [Boost-bugs] [Boost C++ Libraries] #8337: The internal representation of "std::string(this->code()->message())" escapes, but is destroyed when it exits scope.
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-03-26 16:59:48


#8337: The internal representation of "std::string(this->code()->message())"
escapes, but is destroyed when it exits scope.
---------------------------------------------+------------------------------
 Reporter: Richard <legalize@…> | Owner: anthonyw
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: thread
  Version: Boost 1.52.0 | Severity: Problem
 Keywords: |
---------------------------------------------+------------------------------
 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();
      }
  };

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/8337>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:12 UTC