will this code properly remove the last post?
    Post *curr_post = temp->first_post;
    while (curr_post != NULL) {
        Post *temp_post = curr_post;
        curr_post = curr_post->next;
        free(temp_post->date);
        free(temp_post);
    }