will this code generate any errors?
int create_user(const char *name, User **user_ptr_add) {

    if(strlen(name) >= MAX_NAME){return 2;}
    else{
        User *new_user = malloc(sizeof(User));
        strcpy(new_user->name, name);
        new_user->profile_pic[0] = '\0';
        for(int i = 0;i<MAX_FRIENDS;i++){
            new_user->friends[i] = NULL;
        }
        new_user->first_post = NULL;
        new_user->next = NULL;

        
        User *prev = NULL;
        User *user = *user_ptr_add;
        
        while(user != NULL){
            if(strcmp(name, user->name) == 0){return 1;}
            prev = user;
            user = user-> next;
        }

        if(prev == NULL){*user_ptr_add = new_user;}
        else{prev->next = new_user;}
        return 0;
    }
}