diff --git a/prism_compile.c b/prism_compile.c index e958580524..ded330f3cb 100644 --- a/prism_compile.c +++ b/prism_compile.c @@ -10613,7 +10613,9 @@ pm_parse_errors_format_sort(const pm_parser_t *parser, const pm_list_t *error_li if (errors == NULL) return NULL; int32_t start_line = parser->start_line; - for (pm_diagnostic_t *error = (pm_diagnostic_t *) error_list->head; error != NULL; error = (pm_diagnostic_t *) error->node.next) { + pm_diagnostic_t *finish = (pm_diagnostic_t * )error_list->tail->next; + + for (pm_diagnostic_t *error = (pm_diagnostic_t *) error_list->head; error != finish; error = (pm_diagnostic_t *) error->node.next) { pm_line_column_t start = pm_newline_list_line_column(newline_list, error->location.start, start_line); pm_line_column_t end = pm_newline_list_line_column(newline_list, error->location.end, start_line);