From e3de723e2d955ca89c8b06bb2c4ae86724aad77b Mon Sep 17 00:00:00 2001 From: Damien George Date: Thu, 31 Mar 2022 23:59:10 +1100 Subject: [PATCH] py/emitbc: Assert that a small int fits its encoding when emitting one. Signed-off-by: Damien George --- py/emitbc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/py/emitbc.c b/py/emitbc.c index 21ec12191..a9d5b3799 100644 --- a/py/emitbc.c +++ b/py/emitbc.c @@ -32,6 +32,7 @@ #include #include "py/mpstate.h" +#include "py/smallint.h" #include "py/emit.h" #include "py/bc0.h" @@ -471,6 +472,7 @@ void mp_emit_bc_load_const_tok(emit_t *emit, mp_token_kind_t tok) { } void mp_emit_bc_load_const_small_int(emit_t *emit, mp_int_t arg) { + assert(MP_SMALL_INT_FITS(arg)); if (-MP_BC_LOAD_CONST_SMALL_INT_MULTI_EXCESS <= arg && arg < MP_BC_LOAD_CONST_SMALL_INT_MULTI_NUM - MP_BC_LOAD_CONST_SMALL_INT_MULTI_EXCESS) { emit_write_bytecode_byte(emit, 1,