[instance] fix index computation in multi-instances context (#11099)

In multi instances context, the GetIdx function did not return the
correct instance index.
This commit is contained in:
seb-fae
2025-01-09 15:11:39 -08:00
committed by GitHub
parent d7a266856f
commit 3ae741f95e
+1 -3
View File
@@ -351,9 +351,7 @@ Instance &Instance::Get(uint8_t aIdx)
uint8_t Instance::GetIdx(Instance *aInstance)
{
return static_cast<uint8_t>(
(reinterpret_cast<uint8_t *>(aInstance) - reinterpret_cast<uint8_t *>(gMultiInstanceRaw)) /
INSTANCE_SIZE_ALIGNED);
return static_cast<uint8_t>((reinterpret_cast<uint64_t *>(aInstance) - gMultiInstanceRaw) / INSTANCE_SIZE_ALIGNED);
}
#endif // #if OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE