py: Check for valid file when creating lexer for execfile.

Addresses issue #1119.
pull/1098/merge
Damien George 2015-02-15 00:02:27 +00:00
rodzic 1b8e76b8e6
commit 0868942e77
1 zmienionych plików z 3 dodań i 0 usunięć

Wyświetl plik

@ -134,6 +134,9 @@ STATIC mp_obj_t eval_exec_helper(mp_uint_t n_args, const mp_obj_t *args, mp_pars
mp_lexer_t *lex;
if (MICROPY_PY_BUILTINS_EXECFILE && parse_input_kind == MP_PARSE_SINGLE_INPUT) {
lex = mp_lexer_new_from_file(str);
if (lex == NULL) {
nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_OSError, "could not open file '%s'", str));
}
parse_input_kind = MP_PARSE_FILE_INPUT;
} else {
lex = mp_lexer_new_from_str_len(MP_QSTR__lt_string_gt_, str, str_len, 0);