From 68304252b70c26e806cf2024a9324cd2333bdd40 Mon Sep 17 00:00:00 2001 From: Kevin Jeon Date: Fri, 5 May 2023 10:21:48 -0400 Subject: [PATCH] Add null check to SQLiteConnectionPool.dump() This change adds a null check before adding the current connection pool path's parent to the list of directories, since the parent might be null. This avoids an NPE in SQLiteDatabase.dumpAll(). Test: run dumpsys dbinfo, verify that it no longer times out Bug: 281043011 Change-Id: Iec7fa9d0941d79dfa034f117c35c30797c7d3113 --- core/java/android/database/sqlite/SQLiteConnectionPool.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/java/android/database/sqlite/SQLiteConnectionPool.java b/core/java/android/database/sqlite/SQLiteConnectionPool.java index 069c264313e79..dcf1a47c3f704 100644 --- a/core/java/android/database/sqlite/SQLiteConnectionPool.java +++ b/core/java/android/database/sqlite/SQLiteConnectionPool.java @@ -1136,7 +1136,10 @@ public final class SQLiteConnectionPool implements Closeable { Printer indentedPrinter = PrefixPrinter.create(printer, " "); synchronized (mLock) { if (directories != null) { - directories.add(new File(mConfiguration.path).getParent()); + String parent = new File(mConfiguration.path).getParent(); + if (parent != null) { + directories.add(parent); + } } boolean isCompatibilityWalEnabled = mConfiguration.isLegacyCompatibilityWalEnabled(); printer.println("Connection pool for " + mConfiguration.path + ":");