From 0868942e7722f73f53fe9c8b730fd3acc9f2d2e7 Mon Sep 17 00:00:00 2001
From: Damien George <damien.p.george@gmail.com>
Date: Sun, 15 Feb 2015 00:02:27 +0000
Subject: [PATCH] py: Check for valid file when creating lexer for execfile.

Addresses issue #1119.
---
 py/builtinevex.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/py/builtinevex.c b/py/builtinevex.c
index 85ffbf4e6..4cafc5ecf 100644
--- a/py/builtinevex.c
+++ b/py/builtinevex.c
@@ -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);
-- 
GitLab