mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
Merge pull request #318 from trim21/ub
avoid undefined behavior signed int overflow
This commit is contained in:
commit
24fdd20eec
@ -80,13 +80,13 @@ static void pkl__emit_int(PickleObject* buf, py_i64 val) {
|
||||
pkl__emit_op(buf, PKL_INT_0 + val);
|
||||
return;
|
||||
}
|
||||
if((int8_t)val == val) {
|
||||
if(INT8_MIN <= val && val <= INT8_MAX) {
|
||||
pkl__emit_op(buf, PKL_INT8);
|
||||
PickleObject__write_bytes(buf, &val, 1);
|
||||
} else if((int16_t)val == val) {
|
||||
} else if(INT16_MIN <= val && val <= INT16_MAX) {
|
||||
pkl__emit_op(buf, PKL_INT16);
|
||||
PickleObject__write_bytes(buf, &val, 2);
|
||||
} else if((int32_t)val == val) {
|
||||
} else if(INT32_MIN <= val && val <= INT32_MAX) {
|
||||
pkl__emit_op(buf, PKL_INT32);
|
||||
PickleObject__write_bytes(buf, &val, 4);
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user