Merge pull request #150 from bluca/uninitialised_sockopt

Problem: curve keys getsockopt uninitialised read
This commit is contained in:
Pieter Hintjens 2016-02-16 16:14:05 +01:00
commit 42c6ffdc1d
4 changed files with 9 additions and 1 deletions

View File

@ -22,7 +22,7 @@ before_script:
- mkdir tmp - mkdir tmp
# libsodium # libsodium
- git clone git://github.com/jedisct1/libsodium.git - git clone --depth 1 -b stable git://github.com/jedisct1/libsodium.git
- ( cd libsodium; ./autogen.sh; ./configure --prefix=${BUILD_PREFIX}; make check; make install ) - ( cd libsodium; ./autogen.sh; ./configure --prefix=${BUILD_PREFIX}; make check; make install )
# ZMQ stress tests need more open socket (files) than the usual default # ZMQ stress tests need more open socket (files) than the usual default

View File

@ -53,6 +53,7 @@ Joe Thornber <joe.thornber@gmail.com>
Jon Dyte <jon@totient.co.uk> Jon Dyte <jon@totient.co.uk>
Kamil Shakirov <kamils80@gmail.com> Kamil Shakirov <kamils80@gmail.com>
Ken Steele <ken@tilera.com> Ken Steele <ken@tilera.com>
Luca Boccassi <luca.boccassi@gmail.com>
Marc Rossi <mrossi19@gmail.com> Marc Rossi <mrossi19@gmail.com>
Martin Hurton <hurtonm@gmail.com> Martin Hurton <hurtonm@gmail.com>
Martin Lucina <martin@lucina.net> Martin Lucina <martin@lucina.net>

4
NEWS
View File

@ -3,6 +3,10 @@
* Fixed LIBZMQ-949 - zmq_unbind fails for inproc and wildcard endpoints * Fixed LIBZMQ-949 - zmq_unbind fails for inproc and wildcard endpoints
* Fixed #1806 - uninitialised read in curve getsockopt.
* Fixed #1807 - build broken with GCC 6.
0MQ version 4.0.7 stable, released on 2015/06/15 0MQ version 4.0.7 stable, released on 2015/06/15
================================================ ================================================

View File

@ -55,6 +55,9 @@ zmq::options_t::options_t () :
socket_id (0), socket_id (0),
conflate (false) conflate (false)
{ {
memset (curve_public_key, 0, CURVE_KEYSIZE);
memset (curve_secret_key, 0, CURVE_KEYSIZE);
memset (curve_server_key, 0, CURVE_KEYSIZE);
} }
int zmq::options_t::setsockopt (int option_, const void *optval_, int zmq::options_t::setsockopt (int option_, const void *optval_,