From 952a78f88af5809b2fbf30ed9fa86649cc71c2aa Mon Sep 17 00:00:00 2001 From: Jim Mussared Date: Wed, 24 May 2023 17:06:08 +1000 Subject: [PATCH] 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 --- ports/unix/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ports/unix/main.c b/ports/unix/main.c index 21f59862ab..fc0f6da7b8 100644 --- a/ports/unix/main.c +++ b/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;