From 64b60b0fa2a84a7ba032b267ec501c8aad94af13 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Mar 2025 22:26:41 +0000 Subject: [PATCH 1/2] Bump SixLabors.ImageSharp from 1.0.3 to 2.1.10 in /tools/objexport Bumps [SixLabors.ImageSharp](https://github.com/SixLabors/ImageSharp) from 1.0.3 to 2.1.10. - [Release notes](https://github.com/SixLabors/ImageSharp/releases) - [Commits](https://github.com/SixLabors/ImageSharp/compare/v1.0.3...v2.1.10) --- updated-dependencies: - dependency-name: SixLabors.ImageSharp dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- tools/objexport/objexport.fsproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/objexport/objexport.fsproj b/tools/objexport/objexport.fsproj index 3162aecd17..61c02d3a60 100644 --- a/tools/objexport/objexport.fsproj +++ b/tools/objexport/objexport.fsproj @@ -9,7 +9,7 @@ - + From 9edeab7e35e3e2dbe106873e8118f3893d81b377 Mon Sep 17 00:00:00 2001 From: Ted John Date: Fri, 7 Aug 2026 13:21:17 +0100 Subject: [PATCH 2/2] Fix ImageExporter for ImageSharp 2.x API GetPixelRowSpan was removed in ImageSharp 2.0 and replaced by the DangerousGetPixelRowMemory extension method in the SixLabors.ImageSharp.Advanced namespace. Also bump the package to 2.1.13 instead of 2.1.10 to pick up the fix for CVE-2025-54575, a denial-of-service in the GIF decoder that affects 2.1.10. --- tools/objexport/ImageExporter.fs | 5 +++-- tools/objexport/objexport.fsproj | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/objexport/ImageExporter.fs b/tools/objexport/ImageExporter.fs index 37fcbe0ccb..4ec558c837 100644 --- a/tools/objexport/ImageExporter.fs +++ b/tools/objexport/ImageExporter.fs @@ -6,6 +6,7 @@ open System.Runtime.Serialization open RCT2ObjectData.Drawing open RCT2ObjectData.Objects open SixLabors.ImageSharp +open SixLabors.ImageSharp.Advanced open SixLabors.ImageSharp.Formats.Png open SixLabors.ImageSharp.PixelFormats open SixLabors.ImageSharp.Processing.Processors.Quantization @@ -279,10 +280,10 @@ let private getPaletteColour (index: byte): Rgba32 = let private drawSprite (sprite: PaletteImage) (sx: int) (sy: int) (image: Image) = let src = sprite.Pixels for y in 0..sprite.Height - 1 do - let dst = image.GetPixelRowSpan(sy + y) + let dst = image.DangerousGetPixelRowMemory(sy + y) for x in 0..sprite.Width - 1 do let paletteIndex = src.[x, y] - dst.[sx + x] <- getPaletteColour paletteIndex + dst.Span.[sx + x] <- getPaletteColour paletteIndex image let private palette: ReadOnlyMemory = diff --git a/tools/objexport/objexport.fsproj b/tools/objexport/objexport.fsproj index 61c02d3a60..7446bb761d 100644 --- a/tools/objexport/objexport.fsproj +++ b/tools/objexport/objexport.fsproj @@ -9,7 +9,7 @@ - +