Boost logo

Boost :

Subject: [boost] invalid access to stack memory?
From: alexc (alexc_at_[hidden])
Date: 2017-02-11 07:47:50

Hi all,

followed detail of the case, an object constructor store this pointer to a static variable. could it be a problem?

explicit context(Key* k)
   : key_(k),
    next_(call_stackKey, Value::top_)
   value_ = reinterpret_castunsigned char*(this);
   call_stackKey, Value::top_ = this; // == store this to a static variable

void strand_service::do_complete(io_service_impl* owner, operation* base,
  const boost::system::error_code ec, std::size_t /*bytes_transferred*/)
 if (owner)
  strand_impl* impl = static_caststrand_impl*(base);

  // Indicate that this strand is executing on the current thread.
  call_stackstrand_impl::context ctx(impl); // == local variable ctx, its this pointer will be stroed in a static variable.


Boost list run by bdawes at, gregod at, cpdaniel at, john at