Skip to content

Commit 44d0f3c

Browse files
committed
Handle return value of read() call.
1 parent de690d1 commit 44d0f3c

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

py/lexerunix.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,13 @@ mp_lexer_t *mp_lexer_new_from_file(const char *filename) {
4848
uint size = lseek(fd, 0, SEEK_END);
4949
lseek(fd, 0, SEEK_SET);
5050
char *data = m_new(char, size);
51-
read(fd, data, size);
51+
int read_size = read(fd, data, size);
5252
close(fd);
53+
if (read_size != size) {
54+
printf("error reading file %s\n", filename);
55+
m_free(data);
56+
return NULL;
57+
}
5358

5459
return mp_lexer_new_from_str_len(filename, data, size, true);
5560
}

0 commit comments

Comments
 (0)