From 6089721aca5c3867896f7baba03a58354c9f85de Mon Sep 17 00:00:00 2001 From: Ryan Landay Date: Fri, 1 Jun 2018 17:55:17 +0000 Subject: [PATCH] Fix null pointer exception in NonOverlappingStack#getNonDyingTabCount() Stack#mStackTabs is sometimes null, so we need to do a null pointer check in NonOverlappingStack#getNonDyingTabCount() to avoid a crash. In particular, the following sequence of steps currently causes a crash: - Close all normal tabs and open an incognito tab - Focus the incognito tab - Tap the tab switcher button on the toolbar This CL fixes this crash. Bug: 831359,846266 Change-Id: I0a64e0134458af772f944d650daf57a0c0650d68 Reviewed-on: https://chromium-review.googlesource.com/1074219 Reviewed-by: Matthew Jones Commit-Queue: Ryan Landay Cr-Original-Commit-Position: refs/heads/master@{#563254}(cherry picked from commit 399b1c2020f20c51ef994249af7b0e3850ec3595) Reviewed-on: https://chromium-review.googlesource.com/1082851 Reviewed-by: Ryan Landay Cr-Commit-Position: refs/branch-heads/3440@{#93} Cr-Branched-From: 010ddcfda246975d194964ccf20038ebbdec6084-refs/heads/master@{#561733} --- .../compositor/layouts/phone/stack/NonOverlappingStack.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/NonOverlappingStack.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/NonOverlappingStack.java index 123a52d2f6416..2646b2d164324 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/NonOverlappingStack.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/NonOverlappingStack.java @@ -67,6 +67,8 @@ public NonOverlappingStack(Context context, StackLayoutBase layout) { } private int getNonDyingTabCount() { + if (mStackTabs == null) return 0; + int dyingCount = 0; for (int i = 0; i < mStackTabs.length; i++) { if (mStackTabs[i].isDying()) dyingCount++;