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 <sustrik@250bpm.com>
This commit is contained in:
Martin Sustrik 2010-12-20 11:47:41 +01:00
parent cbbb1e925d
commit 112d0cd52e

View File

@ -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;
}