I am getting a seg fault
struct pixel **read_pixel_array(FILE *image, int pixel_array_offset, int width, int height) {
    struct pixel** pixel_data_start = malloc(sizeof(struct pixel*)*height);
    fseek(image, pixel_array_offset, SEEK_SET);
    for (int i = 0; i < height; i++){
        pixel_data_start[i] = malloc(sizeof(struct pixel)*width);

        for (int j = 0; j < width; j++){
            unsigned char blue;
            fread(&blue, sizeof(unsigned char), 1, image);
            unsigned char green;
            fread(&green, sizeof(unsigned char), 1, image);
            unsigned char red;
            fread(&red, sizeof(unsigned char), 1, image);
            struct pixel pix = {blue, green, red};
            pixel_data_start[i][j] = pix;
        }
    }
    return pixel_data_start;
}