diff --git a/include/rapidjson/internal/biginteger.h b/include/rapidjson/internal/biginteger.h index f4d6d1282..4477cf5d1 100755 --- a/include/rapidjson/internal/biginteger.h +++ b/include/rapidjson/internal/biginteger.h @@ -54,8 +54,10 @@ class BigInteger { 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; }