修复由于可能存在问题的奇数长度顶点数组导致的数组越界问题

This commit is contained in:
ww-rm
2025-09-27 18:48:54 +08:00
parent b74f2811a7
commit d57ea781f0
9 changed files with 9 additions and 9 deletions

View File

@@ -338,7 +338,7 @@ namespace SpineRuntime21 {
if (vertices != null) if (vertices != null)
{ {
for (int ii = 0; ii < verticesLength; ii += 2) for (int ii = 0; ii + 1 < verticesLength; ii += 2)
{ {
float vx = vertices[ii], vy = vertices[ii + 1]; float vx = vertices[ii], vy = vertices[ii + 1];
minX = Math.Min(minX, vx); minX = Math.Min(minX, vx);

View File

@@ -489,7 +489,7 @@ namespace SpineRuntime34 {
if (vertices != null) if (vertices != null)
{ {
for (int ii = 0; ii < verticesLength; ii += 2) for (int ii = 0; ii + 1 < verticesLength; ii += 2)
{ {
float vx = vertices[ii], vy = vertices[ii + 1]; float vx = vertices[ii], vy = vertices[ii + 1];
minX = Math.Min(minX, vx); minX = Math.Min(minX, vx);

View File

@@ -521,7 +521,7 @@ namespace SpineRuntime35 {
} }
if (vertices != null) { if (vertices != null) {
for (int ii = 0; ii < verticesLength; ii += 2) { for (int ii = 0; ii + 1 < verticesLength; ii += 2) {
float vx = vertices[ii], vy = vertices[ii + 1]; float vx = vertices[ii], vy = vertices[ii + 1];
minX = Math.Min(minX, vx); minX = Math.Min(minX, vx);
minY = Math.Min(minY, vy); minY = Math.Min(minY, vy);

View File

@@ -528,7 +528,7 @@ namespace SpineRuntime36 {
} }
if (vertices != null) { if (vertices != null) {
for (int ii = 0; ii < verticesLength; ii += 2) { for (int ii = 0; ii + 1 < verticesLength; ii += 2) {
float vx = vertices[ii], vy = vertices[ii + 1]; float vx = vertices[ii], vy = vertices[ii + 1];
minX = Math.Min(minX, vx); minX = Math.Min(minX, vx);
minY = Math.Min(minY, vy); minY = Math.Min(minY, vy);

View File

@@ -580,7 +580,7 @@ namespace SpineRuntime37 {
} }
if (vertices != null) { if (vertices != null) {
for (int ii = 0; ii < verticesLength; ii += 2) { for (int ii = 0; ii + 1 < verticesLength; ii += 2) {
float vx = vertices[ii], vy = vertices[ii + 1]; float vx = vertices[ii], vy = vertices[ii + 1];
minX = Math.Min(minX, vx); minX = Math.Min(minX, vx);
minY = Math.Min(minY, vy); minY = Math.Min(minY, vy);

View File

@@ -617,7 +617,7 @@ namespace SpineRuntime38 {
} }
if (vertices != null) { if (vertices != null) {
for (int ii = 0; ii < verticesLength; ii += 2) { for (int ii = 0; ii + 1 < verticesLength; ii += 2) {
float vx = vertices[ii], vy = vertices[ii + 1]; float vx = vertices[ii], vy = vertices[ii + 1];
minX = Math.Min(minX, vx); minX = Math.Min(minX, vx);
minY = Math.Min(minY, vy); minY = Math.Min(minY, vy);

View File

@@ -595,7 +595,7 @@ namespace SpineRuntime40 {
} }
if (vertices != null) { if (vertices != null) {
for (int ii = 0; ii < verticesLength; ii += 2) { for (int ii = 0; ii + 1 < verticesLength; ii += 2) {
float vx = vertices[ii], vy = vertices[ii + 1]; float vx = vertices[ii], vy = vertices[ii + 1];
minX = Math.Min(minX, vx); minX = Math.Min(minX, vx);
minY = Math.Min(minY, vy); minY = Math.Min(minY, vy);

View File

@@ -641,7 +641,7 @@ namespace SpineRuntime41 {
} }
if (vertices != null) { if (vertices != null) {
for (int ii = 0; ii < verticesLength; ii += 2) { for (int ii = 0; ii + 1 < verticesLength; ii += 2) {
float vx = vertices[ii], vy = vertices[ii + 1]; float vx = vertices[ii], vy = vertices[ii + 1];
minX = Math.Min(minX, vx); minX = Math.Min(minX, vx);
minY = Math.Min(minY, vy); minY = Math.Min(minY, vy);

View File

@@ -742,7 +742,7 @@ namespace SpineRuntime42 {
verticesLength = clipper.ClippedVertices.Count; verticesLength = clipper.ClippedVertices.Count;
} }
for (int ii = 0; ii < verticesLength; ii += 2) { for (int ii = 0; ii + 1 < verticesLength; ii += 2) {
float vx = vertices[ii], vy = vertices[ii + 1]; float vx = vertices[ii], vy = vertices[ii + 1];
minX = Math.Min(minX, vx); minX = Math.Min(minX, vx);
minY = Math.Min(minY, vy); minY = Math.Min(minY, vy);