Solution: explicitly set u.base.metadata to null

This commit is contained in:
Constantin Rack 2015-08-17 12:41:27 +02:00
parent 87e7ed054b
commit 34fe5eaf26

View File

@ -239,6 +239,7 @@ int zmq::msg_t::close ()
if (u.base.metadata->drop_ref ()) { if (u.base.metadata->drop_ref ()) {
LIBZMQ_DELETE(u.base.metadata); LIBZMQ_DELETE(u.base.metadata);
} }
u.base.metadata = NULL;
} }
// Make the message invalid. // Make the message invalid.
@ -393,8 +394,10 @@ void zmq::msg_t::set_metadata (zmq::metadata_t *metadata_)
void zmq::msg_t::reset_metadata () void zmq::msg_t::reset_metadata ()
{ {
if (u.base.metadata) { if (u.base.metadata) {
if (u.base.metadata->drop_ref ()) if (u.base.metadata->drop_ref ()) {
LIBZMQ_DELETE(u.base.metadata); LIBZMQ_DELETE(u.base.metadata);
}
u.base.metadata = NULL;
} }
} }
@ -493,12 +496,12 @@ bool zmq::msg_t::rm_refs (int refs_)
return true; return true;
} }
uint32_t zmq::msg_t::get_routing_id() uint32_t zmq::msg_t::get_routing_id()
{ {
return u.base.routing_id; return u.base.routing_id;
} }
int zmq::msg_t::set_routing_id(uint32_t routing_id_) int zmq::msg_t::set_routing_id(uint32_t routing_id_)
{ {
u.base.routing_id = routing_id_; u.base.routing_id = routing_id_;
return 0; return 0;