diff --git a/src/msg.cpp b/src/msg.cpp index 0b03144f..f83ca056 100644 --- a/src/msg.cpp +++ b/src/msg.cpp @@ -78,6 +78,8 @@ int zmq::msg_t::init_data (void *data_, size_t size_, msg_free_fn *ffn_, // If data is NULL and size is not 0, a segfault // would occur once the data is accessed assert (data_ != NULL || size_ == 0); + + // Initialize constant message if there's no need to deallocate if(ffn_ == NULL) { u.cmsg.type = type_cmsg; u.cmsg.flags = 0;