From 483dafa8def67390fe65ac502befc9569d971e58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A1Cinder!=20=E3=8A=9D?= Date: Sun, 2 Jan 2022 06:38:04 -0600 Subject: [PATCH 1/4] Fix out of bounds read in DecodeToBitmap() (#19) --- src/OpenJpegDotNet/IO/Reader.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/OpenJpegDotNet/IO/Reader.cs b/src/OpenJpegDotNet/IO/Reader.cs index de87d9d..3f8f756 100644 --- a/src/OpenJpegDotNet/IO/Reader.cs +++ b/src/OpenJpegDotNet/IO/Reader.cs @@ -147,7 +147,7 @@ private static ulong Read(IntPtr buffer, ulong bytes, IntPtr userData) unsafe { var buf = (Buffer*)userData; - var bytesToRead = (int)Math.Min((ulong)buf->Length, bytes); + var bytesToRead = (int)Math.Min((ulong)(buf->Length - buf->Position), bytes); if (bytesToRead > 0) { NativeMethods.cstd_memcpy(buffer, IntPtr.Add(buf->Data, buf->Position), bytesToRead); @@ -233,4 +233,4 @@ private void Dispose(bool disposing) } -} \ No newline at end of file +} From 46c8d7786d1029dec9aa5d039860167d399454d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A1Cinder!=20=E3=8A=9D?= Date: Sun, 2 Jan 2022 06:41:36 -0600 Subject: [PATCH 2/4] Fix colorspace when calling FromBitmap() (#21) --- src/OpenJpegDotNet/Util/ImageHelper.cs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/OpenJpegDotNet/Util/ImageHelper.cs b/src/OpenJpegDotNet/Util/ImageHelper.cs index 9272052..57119d9 100644 --- a/src/OpenJpegDotNet/Util/ImageHelper.cs +++ b/src/OpenJpegDotNet/Util/ImageHelper.cs @@ -133,7 +133,7 @@ public static Image FromBitmap(Bitmap bitmap) break; case PixelFormat.Format8bppIndexed: channels = 1; - colorSpace = ColorSpace.Srgb; + colorSpace = ColorSpace.Gray; byteAllocated = 1; break; default: @@ -189,7 +189,22 @@ public static Image FromBitmap(Bitmap bitmap) { for (var i = 0; i < channels; i++) { - var target = image.Components[i].Data; + // need to fix the colorspace + IntPtr target; + if (channels >= 3) { + if (i == 0) { + target = image.Components[2].Data; // B-R + } else if (i == 1) { + target = image.Components[1].Data; // G-G + } else if (i == 2) { + target = image.Components[0].Data; // R-B + } else { + target = image.Components[i].Data; + } + } else { + target = image.Components[i].Data; + } + var pTarget = (int*)target; var source = (byte*)scan0; source += i; From 2f3ed0c5a73e181f913f5b3cd485153f8703d42f Mon Sep 17 00:00:00 2001 From: cinder Date: Sun, 26 Feb 2023 16:32:44 -0600 Subject: [PATCH 3/4] OpenJPEG 2.5.0 release --- src/openjpeg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openjpeg b/src/openjpeg index 37ac30c..a589155 160000 --- a/src/openjpeg +++ b/src/openjpeg @@ -1 +1 @@ -Subproject commit 37ac30ceff6640bbab502388c5e0fa0bff23f505 +Subproject commit a5891555eb49ed7cc26b2901ea680acda136d811 From 69e7b97c328f5b1a5f998de2b7e4a72cfebf0d77 Mon Sep 17 00:00:00 2001 From: Cinder Roxley Date: Mon, 8 Jul 2024 11:47:02 -0500 Subject: [PATCH 4/4] OpenJPEG 2.5.2 release --- src/openjpeg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openjpeg b/src/openjpeg index a589155..39e8c50 160000 --- a/src/openjpeg +++ b/src/openjpeg @@ -1 +1 @@ -Subproject commit a5891555eb49ed7cc26b2901ea680acda136d811 +Subproject commit 39e8c50a2f9bdcf36810ee3d41bcbf1cc78968ae