Browse Source

unix/main: Add NLR scope for checking module __path__.

If the module has a user-defined getattr, this could raise.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
pull/11456/head
Jim Mussared 1 year ago
committed by Damien George
parent
commit
952a78f88a
  1. 3
      ports/unix/main.c

3
ports/unix/main.c

@ -664,8 +664,9 @@ MP_NOINLINE int main_(int argc, char **argv) {
return handle_uncaught_exception(nlr.ret_val) & 0xff;
}
// If this module is a package, see if it has a `__main__.py`.
mp_obj_t dest[2];
mp_load_method_maybe(mod, MP_QSTR___path__, dest);
mp_load_method_protected(mod, MP_QSTR___path__, dest, true);
if (dest[0] != MP_OBJ_NULL && !subpkg_tried) {
subpkg_tried = true;
vstr_t vstr;

Loading…
Cancel
Save