summaryrefslogtreecommitdiffstatshomepage
path: root/py
diff options
context:
space:
mode:
authorDave Hylands <dhylands@gmail.com>2014-10-08 23:17:35 -0700
committerDave Hylands <dhylands@gmail.com>2014-10-08 23:17:35 -0700
commite20cbbec7374be5003706ef243a3433a19a01841 (patch)
treee3b1653d21f9ea8f88d642a55ede0dc7e2b905e1 /py
parent67f25dfe6f4b13a3b8d40746d2b2fd720c63caed (diff)
downloadmicropython-e20cbbec7374be5003706ef243a3433a19a01841.tar.gz
micropython-e20cbbec7374be5003706ef243a3433a19a01841.zip
Make lexer fail gracefully when memory can't be allocated.
Diffstat (limited to 'py')
-rw-r--r--py/lexerstr.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/py/lexerstr.c b/py/lexerstr.c
index a919dc7e14..3a68441107 100644
--- a/py/lexerstr.c
+++ b/py/lexerstr.c
@@ -52,7 +52,10 @@ STATIC void str_buf_free(mp_lexer_str_buf_t *sb) {
}
mp_lexer_t *mp_lexer_new_from_str_len(qstr src_name, const char *str, mp_uint_t len, mp_uint_t free_len) {
- mp_lexer_str_buf_t *sb = m_new_obj(mp_lexer_str_buf_t);
+ mp_lexer_str_buf_t *sb = m_new_maybe(mp_lexer_str_buf_t, 1);
+ if (sb == NULL) {
+ return NULL;
+ }
sb->free_len = free_len;
sb->src_beg = str;
sb->src_cur = str;