From dd4b1fec4c93c7417314febecebfd91e916f5ff6 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Wed, 12 Sep 2012 17:28:02 -0700 Subject: [PATCH] Don't crash when copying a null Rect Bug #7158068 Change-Id: I8f5f3ee12b2c4fd1fe28212b0c6de1214f2ce5f9 --- graphics/java/android/graphics/Rect.java | 12 ++++++++---- graphics/java/android/graphics/RectF.java | 24 +++++++++++++++-------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/graphics/java/android/graphics/Rect.java b/graphics/java/android/graphics/Rect.java index 6c204ab17745f..8b5609f9eb5de 100644 --- a/graphics/java/android/graphics/Rect.java +++ b/graphics/java/android/graphics/Rect.java @@ -69,10 +69,14 @@ public final class Rect implements Parcelable { * rectangle. */ public Rect(Rect r) { - left = r.left; - top = r.top; - right = r.right; - bottom = r.bottom; + if (r == null) { + left = top = right = bottom = 0; + } else { + left = r.left; + top = r.top; + right = r.right; + bottom = r.bottom; + } } @Override diff --git a/graphics/java/android/graphics/RectF.java b/graphics/java/android/graphics/RectF.java index 108b7f9b2da04..53178b05e3d7b 100644 --- a/graphics/java/android/graphics/RectF.java +++ b/graphics/java/android/graphics/RectF.java @@ -66,17 +66,25 @@ public class RectF implements Parcelable { * rectangle. */ public RectF(RectF r) { - left = r.left; - top = r.top; - right = r.right; - bottom = r.bottom; + if (r == null) { + left = top = right = bottom = 0.0f; + } else { + left = r.left; + top = r.top; + right = r.right; + bottom = r.bottom; + } } public RectF(Rect r) { - left = r.left; - top = r.top; - right = r.right; - bottom = r.bottom; + if (r == null) { + left = top = right = bottom = 0.0f; + } else { + left = r.left; + top = r.top; + right = r.right; + bottom = r.bottom; + } } @Override