From feacaa12ac22666e4bb005cc250cc96f0be53840 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Fri, 21 Feb 2014 01:15:20 +0200 Subject: [PATCH] __import__: Catch relative import attempts and throw NotImplementedError. --- py/builtinimport.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/py/builtinimport.c b/py/builtinimport.c index 05b8eead57..e64ca82374 100644 --- a/py/builtinimport.c +++ b/py/builtinimport.c @@ -140,8 +140,17 @@ mp_obj_t mp_builtin___import__(int n_args, mp_obj_t *args) { */ mp_obj_t fromtuple = mp_const_none; + int level = 0; if (n_args >= 4) { fromtuple = args[3]; + if (n_args >= 5) { + level = MP_OBJ_SMALL_INT_VALUE(args[4]); + } + } + + if (level != 0) { + nlr_jump(mp_obj_new_exception_msg(&mp_type_NotImplementedError, + "Relative import is not implemented")); } uint mod_len;