diff options
author | Dave Hylands <dhylands@gmail.com> | 2014-10-08 23:17:35 -0700 |
---|---|---|
committer | Dave Hylands <dhylands@gmail.com> | 2014-10-08 23:17:35 -0700 |
commit | e20cbbec7374be5003706ef243a3433a19a01841 (patch) | |
tree | e3b1653d21f9ea8f88d642a55ede0dc7e2b905e1 /py | |
parent | 67f25dfe6f4b13a3b8d40746d2b2fd720c63caed (diff) | |
download | micropython-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.c | 5 |
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; |