summaryrefslogtreecommitdiff
path: root/py/emitglue.c
diff options
context:
space:
mode:
authorDan Halbert <halbert@adafruit.com>2019-06-26 20:39:50 -0400
committerGitHub <noreply@github.com>2019-06-26 20:39:50 -0400
commitc562b1923885d67fd349e48da841715f3a5522dd (patch)
tree28d712c6767304b37ff09fa8abcc7176ab8b5385 /py/emitglue.c
parentf77abbd96095890a016ff6acc183b6de4d7ceb26 (diff)
parentfe507db45f7fa21c6de4aafb288a7f83d9903f71 (diff)
Merge pull request #1972 from tannewt/validate_mpy_load4.0.24.0.x
Validate mpy load
Diffstat (limited to 'py/emitglue.c')
-rw-r--r--py/emitglue.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/py/emitglue.c b/py/emitglue.c
index 74bf8ddca..7708689dd 100644
--- a/py/emitglue.c
+++ b/py/emitglue.c
@@ -142,11 +142,12 @@ mp_obj_t mp_make_function_from_raw_code(const mp_raw_code_t *rc, mp_obj_t def_ar
fun = mp_obj_new_fun_asm(rc->n_pos_args, rc->data.u_native.fun_data, rc->data.u_native.type_sig);
break;
#endif
- default:
- // rc->kind should always be set and BYTECODE is the only remaining case
- assert(rc->kind == MP_CODE_BYTECODE);
+ case MP_CODE_BYTECODE:
fun = mp_obj_new_fun_bc(def_args, def_kw_args, rc->data.u_byte.bytecode, rc->data.u_byte.const_table);
break;
+ default:
+ // All other kinds are invalid.
+ mp_raise_RuntimeError(translate("Corrupt raw code"));
}
// check for generator functions and if so wrap in generator object