
< 		rows[nrows++] = br + bpr*sy;
---
> 		if (nrows >= rows_capacity) {
> 			size_t new_capacity = rows_capacity * 2;
> 			uint8** new_rows = realloc(rows, new_capacity * sizeof(uint8*));
> 			if (new_rows == NULL) {
> 				// Handle allocation failure
> 				break;
> 			}
> 			rows = new_rows;
> 			rows_capacity = new_capacity;
> 		}
> 		rows[nrows++] = br + bpr*sy;
