why segmentation fault?
int make_post(const User *author, User *target, char *contents) {
    if (author == NULL || target == NULL){
        return 2;
    }
    for (int j = 0; j < 10; j++){
        // doing this for author cuz if they're friends - it's symmetric
        if ((strcmp(target->friends[j]->name, author->name) != 0) && (target->friends[j] != NULL)){
            return 1;
        }
    }

    // create new post struct
    Post *new_post = malloc(sizeof(Post));
    strcpy(new_post->author, author->name);
    new_post->contents = contents;
    
    if (target->first_post == NULL){
        target->first_post = new_post;
    }
    Post *curr = target->first_post;
    target->first_post = new_post;
    new_post->next = curr;
    
    return 0;
}