do i have any possible memory leaks in my code?
int update_pic(User *user, const char *filename) {  
    // check if the file name is too long  
    if (strlen(filename) >= sizeof(user->profile_pic) - 1){  
        return 2;  
    }  
  
    // declare FILE variable like in PCRS prep (week 3)  
    FILE *file;  
    file = fopen(filename, "r");  
    // check if failed to be opened  
    if (file == NULL){  
        return 1;  
    }  
  
    // can use unsafe strcpy since the filename can fit  
    // close the file that opened successfully  
    strcpy(user->profile_pic, filename);  
    fclose(file);  
    return 0;  
}  