From e2dfc6f8cbfcca9f5b75ddade6fbec1e735bddba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Mon, 13 Aug 2018 12:23:37 +0200 Subject: [PATCH] [poincare] Fix problem in RationalNode::setDigits --- poincare/src/rational.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/poincare/src/rational.cpp b/poincare/src/rational.cpp index e655a4ab8..859d44a11 100644 --- a/poincare/src/rational.cpp +++ b/poincare/src/rational.cpp @@ -18,8 +18,9 @@ void RationalNode::setDigits(native_uint_t * numeratorDigits, size_t numeratorSi m_negative = negative; m_numberOfDigitsNumerator = numeratorSize; m_numberOfDigitsDenominator = denominatorSize; - memcpy(m_digits, numeratorDigits, numeratorSize*sizeof(native_uint_t)); - memcpy(m_digits + m_numberOfDigitsNumerator, denominatorDigits, denominatorSize*sizeof(native_uint_t)); + size_t numeratorCopySize = numeratorSize*sizeof(native_uint_t); + memcpy(m_digits, numeratorDigits, numeratorCopySize); + memcpy(m_digits + numeratorCopySize, denominatorDigits, denominatorSize*sizeof(native_uint_t)); } RationalNode * RationalNode::FailedAllocationStaticNode() {