summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDavid Woodhouse <David.Woodhouse@intel.com>2016-08-02 22:54:46 +0100
committerMatt Caswell <matt@openssl.org>2016-08-04 20:56:24 +0100
commit2e94723c1b5d8ab974645e83de90b248265af3cd (patch)
treea5884ed0abd57521d97fb75f53e9675be9a82155 /test
parent032924c4b4104654ff8659b4701e4ab25872a12e (diff)
Fix ubsan 'left shift of negative value -1' error in satsub64be()
Baroque, almost uncommented code triggers behaviour which is undefined by the C standard. You might quite reasonably not care that the code was broken on ones-complement machines, but if we support a ubsan build then we need to at least pretend to care. It looks like the special-case code for 64-bit big-endian is going to behave differently (and wrongly) on wrap-around, because it treats the values as signed. That seems wrong, and allows replay and other attacks. Surely you need to renegotiate and start a new epoch rather than wrapping around to sequence number zero again? Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
Diffstat (limited to 'test')
0 files changed, 0 insertions, 0 deletions