Problem: deallocate calls release after de-allocation

Solution: reduce to newly extracted function clear, which does not use the freed pointer
This commit is contained in:
Simon Giesecke
2018-05-17 14:34:52 +02:00
parent e37fc47fb6
commit 22b72bb678
2 changed files with 9 additions and 3 deletions

View File

@@ -108,17 +108,21 @@ void zmq::shared_message_memory_allocator::deallocate ()
if (buf && !c->sub (1)) {
std::free (buf);
}
release ();
clear ();
}
unsigned char *zmq::shared_message_memory_allocator::release ()
{
unsigned char *b = buf;
clear ();
return b;
}
void zmq::shared_message_memory_allocator::clear ()
{
buf = NULL;
bufsize = 0;
msg_content = NULL;
return b;
}
void zmq::shared_message_memory_allocator::inc_ref ()