zmq_msg_send() only transfers ownership of the message to ZeroMQ on success. On failure the caller retains ownership, so the previously init'd zmq_msg_t was leaked on every failed publish. Close it explicitly on the error path.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Change-Id: I501b1bf55bede4e69fa5d9b3f38d87341482ff49