diff --git a/cv4/list_ops.c b/cv4/list_ops.c index da7fad1..89d2ada 100644 --- a/cv4/list_ops.c +++ b/cv4/list_ops.c @@ -42,11 +42,12 @@ size_t length_list(list_t *list) { } list_t *map_list(list_t *list, list_element_t (*mapper)(list_element_t)) { - for (size_t i = 0; i < list->length; i++) { - list->elements[i] = mapper(list->elements[i]); + list_t *result = malloc(list->length); + for (size_t i = 0; i < list->length; i++) { + result->elements[i] = mapper(list->elements[i]); } - return list; + return result; }