facebook / facebook/fresco

Resources$NotFoundException not caught for placeholders

Open
#2,830 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Kotlin
Stars
17.2k
Forks
3.7k
PR merge metrics
No merged PRs in 30d

Description

For every API which use `mResources.getDrawable()` (e.g. in `setPlaceholderImage(int resourceId)` or `fresco:placeholderImage` XML declaration) Resources$NotFoundException is not caught.

It may result application crash for a malformed or corrupted image.

Version affected: `3.6.0`

Caused by: android.content.res.Resources$NotFoundException: Drawable com.example.frescogiftest:drawable/cat5 with resource ID #0x7f070082
Caused by: a**ndroid.content.res.Resources$NotFoundException**: File res/drawable/cat5.gif from drawable resource ID #0x7f070082
at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:913)
at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:681)
at android.content.res.Resources.loadDrawable(Resources.java:1004)
at android.content.res.Resources.getDrawableForDensity(Resources.java:994)
at android.content.res.Resources.getDrawable(Resources.java:933)
at android.content.Context.getDrawable(Context.java:948)
at com.facebook.drawee.generic.GenericDraweeHierarchyInflater.getDrawable(GenericDraweeHierarchyInflater.java:264)
at com.facebook.drawee.generic.GenericDraweeHierarchyInflater.updateBuilder(GenericDraweeHierarchyInflater.java:125)
at com.facebook.drawee.generic.GenericDraweeHierarchyInflater.inflateBuilder(GenericDraweeHierarchyInflater.java:81)
at com.facebook.drawee.view.GenericDraweeView.inflateHierarchy(GenericDraweeView.java:64)
at com.facebook.drawee.view.GenericDraweeView.(GenericDraweeView.java:45)
at com.facebook.drawee.view.SimpleDraweeView.(SimpleDraweeView.java:67)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.