What is the error in my code
struct pixel **read_pixel_array(FILE *image, int pixel_array_offset, int width, int height) {
    struct pixel *values = malloc(sizeof(struct pixel*) * height);
    
    for(int i = 0; i < height; i++){
        struct pixel* values[i] = malloc(sizeof(unsigned char) * 3);
    }

    fseek(image, pixel_array_offset, SEEK_SET);
    for(int i = 0; i < height; i++){
        for(int j = 0; j < 3; j++){
            unsigned char val;
            fread(val, sizeof(unsigned char), 1, image);
            values[i][j] = val;
        }
    }
    return &values[0];
}