From 6ce014d3ca3805f908fbdcd30da9b982de3bc2da Mon Sep 17 00:00:00 2001 From: Ville Ahti Date: Thu, 17 May 2018 14:32:55 +0300 Subject: [PATCH] Android: Fix java.lang.ArrayIndexOutOfBoundsException with image rotation --- .../src/main/java/org/reactnative/camera/RNCameraView.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/android/src/main/java/org/reactnative/camera/RNCameraView.java b/android/src/main/java/org/reactnative/camera/RNCameraView.java index c3ee6b4..d633eec 100644 --- a/android/src/main/java/org/reactnative/camera/RNCameraView.java +++ b/android/src/main/java/org/reactnative/camera/RNCameraView.java @@ -108,7 +108,11 @@ public class RNCameraView extends CameraView implements LifecycleEventListener, byte[] rotated = new byte[imageData.length]; for (int y = 0; y < width; y++) { for (int x = 0; x < height; x++) { - rotated[x * width + width - y - 1] = imageData[x + y * height]; + int sourceIx = x + y * height; + int destIx = x * width + width - y - 1; + if (sourceIx >= 0 && sourceIx < imageData.length && destIx >= 0 && destIx < imageData.length) { + rotated[destIx] = imageData[sourceIx]; + } } } return rotated;