From ee5c600e29ae8fc587760e14003fb15408fd64a7 Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Tue, 17 Sep 2013 17:32:04 -0700 Subject: [PATCH] Fix undefined behavior in UnsignedIntegerCalc (again) --- src/beast/modules/beast_crypto/math/UnsignedIntegerCalc.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/beast/modules/beast_crypto/math/UnsignedIntegerCalc.h b/src/beast/modules/beast_crypto/math/UnsignedIntegerCalc.h index e714c0895..5bb7f0f4f 100644 --- a/src/beast/modules/beast_crypto/math/UnsignedIntegerCalc.h +++ b/src/beast/modules/beast_crypto/math/UnsignedIntegerCalc.h @@ -115,8 +115,10 @@ public: while (lo < hi) { std::swap (*lo, *hi); - *lo++ = fromNetworkByteOrder (*lo); - *hi-- = fromNetworkByteOrder (*hi); + *lo = fromNetworkByteOrder (*lo); + ++lo; + *hi = fromNetworkByteOrder (*hi); + ++hi; } if (lo == hi) *lo = fromNetworkByteOrder (*lo);