Skip to content

Commit e20cbbe

Browse files
committed
Make lexer fail gracefully when memory can't be allocated.
1 parent 67f25df commit e20cbbe

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

py/lexerstr.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,10 @@ STATIC void str_buf_free(mp_lexer_str_buf_t *sb) {
5252
}
5353

5454
mp_lexer_t *mp_lexer_new_from_str_len(qstr src_name, const char *str, mp_uint_t len, mp_uint_t free_len) {
55-
mp_lexer_str_buf_t *sb = m_new_obj(mp_lexer_str_buf_t);
55+
mp_lexer_str_buf_t *sb = m_new_maybe(mp_lexer_str_buf_t, 1);
56+
if (sb == NULL) {
57+
return NULL;
58+
}
5659
sb->free_len = free_len;
5760
sb->src_beg = str;
5861
sb->src_cur = str;

0 commit comments

Comments
 (0)