From 112d0cd52ec959a6bb4cf02ab03977bc22478246 Mon Sep 17 00:00:00 2001 From: Martin Sustrik Date: Mon, 20 Dec 2010 11:47:41 +0100 Subject: Fix the segfault when over-sized message is rejected. The in_progress message inside of decoder was left uninitialised in such a case. Signed-off-by: Martin Sustrik --- src/decoder.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/decoder.cpp') diff --git a/src/decoder.cpp b/src/decoder.cpp index 5ca2a93..0b2a806 100644 --- a/src/decoder.cpp +++ b/src/decoder.cpp @@ -92,6 +92,8 @@ bool zmq::decoder_t::eight_byte_size_ready () // message and thus we can treat it as uninitialised... int rc = zmq_msg_init_size (&in_progress, size - 1); if (rc != 0 && errno == ENOMEM) { + rc = zmq_msg_init (&in_progress); + errno_assert (rc == 0); decoding_error (); return false; } -- cgit v1.2.3