extmod/moductypes: Fix storing to (U)INT64 arrays on 32-bit archs.

Fixes issue #6583.

Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
Damien George
2020-11-05 22:39:54 +11:00
parent 1fef5662ab
commit bdfb584b29
3 changed files with 44 additions and 1 deletions

View File

@@ -399,7 +399,7 @@ STATIC void set_aligned(uint val_type, void *p, mp_int_t index, mp_obj_t val) {
((uint64_t *)p)[index] = (uint64_t)v;
} else {
// TODO: Doesn't offer atomic store semantics, but should at least try
set_unaligned(val_type, p, MP_ENDIANNESS_BIG, val);
set_unaligned(val_type, (void *)&((uint64_t *)p)[index], MP_ENDIANNESS_BIG, val);
}
return;
default: