diff --git a/poincare/src/tree_pool.cpp b/poincare/src/tree_pool.cpp index 4935c1d96..1b3cf9dae 100644 --- a/poincare/src/tree_pool.cpp +++ b/poincare/src/tree_pool.cpp @@ -154,8 +154,9 @@ void TreePool::discardTreeNode(TreeNode * node) { void TreePool::registerNode(TreeNode * node) { uint16_t nodeID = node->identifier(); assert(nodeID < MaxNumberOfNodes); - assert((((char *)node) - ((char *)m_alignedBuffer)) / ByteAlignment < k_maxNodeOffset); // Check that the offset can be stored in a uint16_t - m_nodeForIdentifierOffset[nodeID] = (((char *)node) - (char *)m_alignedBuffer)/ByteAlignment; + const int nodeOffset = (((char *)node) - (char *)m_alignedBuffer)/ByteAlignment; + assert(nodeOffset < k_maxNodeOffset); // Check that the offset can be stored in a uint16_t + m_nodeForIdentifierOffset[nodeID] = nodeOffset; } void TreePool::updateNodeForIdentifierFromNode(TreeNode * node) {