I'm getting the error "Conditional jump or move depends on uninitialised value(s)" from this function at line 26.
int print_user(const User *user) {
    // Return if the user doesn't exist
    if (user == NULL) {
        return 1;
    }

    // Print the user's profile pic only if the file exists
    FILE *file = fopen(user->profile_pic, "r");
    if (file != NULL) {
        char line[MAX_NAME + 100];
        while(fgets(line, MAX_NAME + 100, file) != NULL) {
            printf("%s", line);
        }
        printf("\n");
        fclose(file);
    }

    // Print the user's name
    printf("%s", "Name: ");
    printf("%s\n", user->name);
    printf("%s\n", "------------------------------------------");

    // Print the user's friends' names
    printf("%s\n", "Friends:");
    for (int i = 0; i < MAX_FRIENDS; i++) {
        if (user->friends[i] != NULL) {
            printf("%s\n", user->friends[i]->name);
        }
    }
    printf("%s\n", "------------------------------------------");

    // Print posts
    printf("%s\n", "Posts:");
    Post *curr = user->first_post;
    while (curr != NULL) {
        printf("%s", "From: ");
        printf("%s\n", curr->author);
        printf("%s", "Date: ");
        printf("%s\n", ctime(curr->date));
        printf("%s\n", curr->contents);

        if (curr->next != NULL) {
            printf("\n");
            printf("%s\n", "===");
            printf("\n");
        }
        curr = curr->next;
    }

    printf("%s\n", "------------------------------------------");

    return 0;
}