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
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user