From afbc0406f0a59fd5423b3127ed23ba3414a0c53f Mon Sep 17 00:00:00 2001 From: "Philipp A. Hartmann" Date: Thu, 13 Aug 2015 23:07:30 +0200 Subject: [PATCH] BigInteger: guard against self-assignment Related-to: #404. Suggested-by: @cosinekitty --- include/rapidjson/internal/biginteger.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/rapidjson/internal/biginteger.h b/include/rapidjson/internal/biginteger.h index f4d6d12..4477cf5 100755 --- a/include/rapidjson/internal/biginteger.h +++ b/include/rapidjson/internal/biginteger.h @@ -54,8 +54,10 @@ public: BigInteger& operator=(const BigInteger &rhs) { - count_ = rhs.count_; - std::memcpy(digits_, rhs.digits_, count_ * sizeof(Type)); + if (this != &rhs) { + count_ = rhs.count_; + std::memcpy(digits_, rhs.digits_, count_ * sizeof(Type)); + } return *this; }