summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Christopher Tate <ctate@google.com> 2016-05-27 17:10:30 -0700
committer Christopher Tate <ctate@google.com> 2016-05-27 17:13:10 -0700
commitf135b271bfaa5a23f3af5a15ce59fd4ffb44a6be (patch)
treeda56c0060c43be98c0fc3db0bf9acadb44cddb46
parentefa291a8605e91d775faf46ada349ec7f81fcdb9 (diff)
Don't call .toString() on potentially null CharSequence
We're building an exception message string, but by explicitly invoking .toString() we're accidentally triggering an NPE rather than the typed exception we want to throw. Build the string in a way that will be safe and sensical even if the CharSequence is null. Bug 29009255 Change-Id: I1813260f0b36fd44506b8327f997dd20c2d6c8bf
-rw-r--r--core/java/android/content/res/ResourcesImpl.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/core/java/android/content/res/ResourcesImpl.java b/core/java/android/content/res/ResourcesImpl.java
index 32a27951677a..000751e88639 100644
--- a/core/java/android/content/res/ResourcesImpl.java
+++ b/core/java/android/content/res/ResourcesImpl.java
@@ -292,8 +292,10 @@ public class ResourcesImpl {
return mAssets.openNonAsset(value.assetCookie, value.string.toString(),
AssetManager.ACCESS_STREAMING);
} catch (Exception e) {
- NotFoundException rnf = new NotFoundException("File " + value.string.toString() +
- " from drawable resource ID #0x" + Integer.toHexString(id));
+ // Note: value.string might be null
+ NotFoundException rnf = new NotFoundException("File "
+ + (value.string == null ? "(null)" : value.string.toString())
+ + " from drawable resource ID #0x" + Integer.toHexString(id));
rnf.initCause(e);
throw rnf;
}