summaryrefslogtreecommitdiff
path: root/py/binary.c
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2025-06-01 20:06:56 +0200
committerDamien George <damien@micropython.org>2025-06-16 23:27:50 +1000
commit2c8ccd3ee8945d53857e383911bf822374174257 (patch)
treedb185a186631b13dde43b6b08a997935155663ae /py/binary.c
parent816246836e00b6c2af0ba26e8d16c234b43da4a0 (diff)
py: Fix undefined left shift operations.
By ensuring the value to be shifted is an unsigned of the appropriate type. This fixes several runtime diagnostics such as: ../../py/binary.c:199:28: runtime error: left shift of 32768 by 16 places cannot be represented in type 'int' Signed-off-by: Jeff Epler <jepler@gmail.com>
Diffstat (limited to 'py/binary.c')
-rw-r--r--py/binary.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/py/binary.c b/py/binary.c
index 4fc8f751a..48d3421bc 100644
--- a/py/binary.c
+++ b/py/binary.c
@@ -196,7 +196,7 @@ static float mp_decode_half_float(uint16_t hf) {
++e;
}
- fpu.i = ((hf & 0x8000) << 16) | (e << 23) | (m << 13);
+ fpu.i = ((hf & 0x8000u) << 16) | (e << 23) | (m << 13);
return fpu.f;
}