message: Fix memory leak in copy_string (lib)
diff: @@ -541,17 +541,20 @@ void GUI::DisplayTimeline(
  bool item_present = false;
  TogglTimelineEventView *event_app = first_event;
  while (event_app) {
  - if (compare_string(event_app->Filename, copy_string(event.Filename().c_str())) == 0) {
  + char_t *filename = copy_string(event.Filename().c_str());
  + if (compare_string(event_app->Filename, filename) == 0) {
  timeline_event_view_update_duration(event_app, event_app->Duration + event.Duration());
  app_present = true;
  item_present = false;
  ev = reinterpret_cast<TogglTimelineEventView *>(event_app->Event);
  while (ev) {
  - if (compare_string(ev->Title, copy_string(event.Title().c_str())) == 0) {
  + char_t *title = copy_string(event.Title().c_str());
  + if (compare_string(ev->Title, title) == 0) {
  timeline_event_view_update_duration(ev, ev->Duration + event.Duration());
  item_present = true;
  }
  ev = reinterpret_cast<TogglTimelineEventView *>(ev->Next);
  + free(title);
  }
  if (!item_present) {
  @@ -562,6 +565,7 @@ void GUI::DisplayTimeline(
  }
  }
  event_app = reinterpret_cast<TogglTimelineEventView *>(event_app->Next);
  + free(filename);
  }
  if (!app_present) {
  @@ -618,8 +622,10 @@ void GUI::DisplayTimeline(
  }
  std::string formatted_date = Formatter::FormatDateHeader(TimelineDateAt());
  - on_display_timeline_(open, copy_string(formatted_date.c_str()), first_chunk, first_entry, start_day, end_day);
  + char_t *date = copy_string(formatted_date.c_str());
  + on_display_timeline_(open, date, first_chunk, first_entry, start_day, end_day);
  delete first_entry;
  + free(date);
  }
  TogglTimelineEventView* GUI::SortList(TogglTimelineEventView *head) {
  