diff options
author | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2022-10-27 16:40:26 +0300 |
---|---|---|
committer | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2022-10-27 16:40:26 +0300 |
commit | 63709d7d298968d62c754c5f6a114316de3bec61 (patch) | |
tree | 5d79697f3a54669d715f77748e29d7d77539406a | |
parent | d35f30394a061396eea0409aaad64b99b2eb59c0 (diff) |
Crop overflow check.
-rw-r--r-- | NesTiler/FastBitmap.cs | 2 | ||||
-rw-r--r-- | NesTiler/Program.cs | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/NesTiler/FastBitmap.cs b/NesTiler/FastBitmap.cs index fb92468..5910f43 100644 --- a/NesTiler/FastBitmap.cs +++ b/NesTiler/FastBitmap.cs @@ -1,4 +1,5 @@ using SkiaSharp;
+using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
@@ -17,6 +18,7 @@ namespace com.clusterrr.Famicom.NesTiler {
Width = skBitmap.Width;
Height = height <= 0 ? skBitmap.Height - verticalOffset : height;
+ if (skBitmap.Height - verticalOffset - Height <= 0) throw new InvalidOperationException("Invalid image height.");
var pixels = skBitmap.Pixels;
colors = skBitmap.Pixels.Skip(verticalOffset * Width).Take(Width * Height).Select(p => Color.FromArgb(p.Alpha, p.Red, p.Green, p.Blue)).ToArray();
}
diff --git a/NesTiler/Program.cs b/NesTiler/Program.cs index 09e6519..852cbc1 100644 --- a/NesTiler/Program.cs +++ b/NesTiler/Program.cs @@ -225,7 +225,7 @@ namespace com.clusterrr.Famicom.NesTiler if (calculatedPalettes.Count > maxCalculatedPaletteCount && !c.Lossy)
{
- throw new ArgumentOutOfRangeException($"Can't fit {calculatedPalettes.Count} palettes, {maxCalculatedPaletteCount} is maximum.");
+ throw new InvalidOperationException($"Can't fit {calculatedPalettes.Count} palettes, {maxCalculatedPaletteCount} is maximum.");
}
// Select palettes
|