Back to library list

com.github.bumptech.glide__glide

Column Insecure: Icon yes indicates the version is insecure, otherwise no
Column CryptoMisuse: Icon yes indicates the version has cryptographic API misuse, otherwise no
Version Insecure CryptoMisuse Rule name Method Statement Details
3.3.0 no       yes MessageDigest com.bumptech.glide.load.resource.gif.GifResourceDecoder.decode(Ljava/io/InputStream;II)Lcom/bumptech/glide/load/resource/gif/GifDrawableResource; r6 = staticinvoke <java.security.MessageDigest: java.security.MessageDigest getInstance(java.lang.String)>(varReplacer765) First parameter (with value "SHA-1") should be any of {SHA-256, SHA-384, SHA-512}
3.3.1 no       yes MessageDigest com.bumptech.glide.load.resource.gif.GifResourceDecoder.decode(Ljava/io/InputStream;II)Lcom/bumptech/glide/load/resource/gif/GifDrawableResource; r6 = staticinvoke <java.security.MessageDigest: java.security.MessageDigest getInstance(java.lang.String)>(varReplacer781) First parameter (with value "SHA-1") should be any of {SHA-256, SHA-384, SHA-512}
3.4.0 no       yes MessageDigest com.bumptech.glide.load.engine.cache.SafeKeyGenerator.getSafeKey(Lcom/bumptech/glide/load/Key;)Ljava/lang/String; $r7 = virtualinvoke r15.<java.security.MessageDigest: byte[] digest()>() Unexpected call to method <java.security.MessageDigest: byte[] digest()> on object of type java.security.MessageDigest. Expect a call to one of the following methods <java.security.MessageDigest: void update(byte[])>,<java.security.MessageDigest: void update(byte[],int,int)>,<java.security.MessageDigest: byte[] digest(byte[])>,<java.security.MessageDigest: void update(java.nio.ByteBuffer)>,<java.security.MessageDigest: void update(byte)>
3.5.0 no       yes MessageDigest com.bumptech.glide.load.engine.cache.SafeKeyGenerator.getSafeKey(Lcom/bumptech/glide/load/Key;)Ljava/lang/String; $r7 = virtualinvoke r15.<java.security.MessageDigest: byte[] digest()>() Unexpected call to method <java.security.MessageDigest: byte[] digest()> on object of type java.security.MessageDigest. Expect a call to one of the following methods <java.security.MessageDigest: void update(byte[])>,<java.security.MessageDigest: void update(byte[],int,int)>,<java.security.MessageDigest: byte[] digest(byte[])>,<java.security.MessageDigest: void update(java.nio.ByteBuffer)>,<java.security.MessageDigest: void update(byte)>
3.5.1 no       yes MessageDigest com.bumptech.glide.load.engine.cache.SafeKeyGenerator.getSafeKey(Lcom/bumptech/glide/load/Key;)Ljava/lang/String; $r7 = virtualinvoke r15.<java.security.MessageDigest: byte[] digest()>() Unexpected call to method <java.security.MessageDigest: byte[] digest()> on object of type java.security.MessageDigest. Expect a call to one of the following methods <java.security.MessageDigest: void update(byte[])>,<java.security.MessageDigest: void update(byte[],int,int)>,<java.security.MessageDigest: byte[] digest(byte[])>,<java.security.MessageDigest: void update(java.nio.ByteBuffer)>,<java.security.MessageDigest: void update(byte)>
3.5.2 no       yes MessageDigest com.bumptech.glide.load.engine.cache.SafeKeyGenerator.getSafeKey(Lcom/bumptech/glide/load/Key;)Ljava/lang/String; $r7 = virtualinvoke r15.<java.security.MessageDigest: byte[] digest()>() Unexpected call to method <java.security.MessageDigest: byte[] digest()> on object of type java.security.MessageDigest. Expect a call to one of the following methods <java.security.MessageDigest: void update(byte[])>,<java.security.MessageDigest: void update(byte[],int,int)>,<java.security.MessageDigest: byte[] digest(byte[])>,<java.security.MessageDigest: void update(java.nio.ByteBuffer)>,<java.security.MessageDigest: void update(byte)>
3.6.0 no       no
3.6.1 no       no
3.7.0 no       yes MessageDigest com.bumptech.glide.load.engine.cache.SafeKeyGenerator.getSafeKey(Lcom/bumptech/glide/load/Key;)Ljava/lang/String; $r7 = virtualinvoke r15.<java.security.MessageDigest: byte[] digest()>() Unexpected call to method <java.security.MessageDigest: byte[] digest()> on object of type java.security.MessageDigest. Expect a call to one of the following methods <java.security.MessageDigest: void update(byte[])>,<java.security.MessageDigest: void update(byte[],int,int)>,<java.security.MessageDigest: byte[] digest(byte[])>,<java.security.MessageDigest: void update(java.nio.ByteBuffer)>,<java.security.MessageDigest: void update(byte)>
3.8.0 no       yes MessageDigest com.bumptech.glide.load.engine.cache.SafeKeyGenerator.getSafeKey(Lcom/bumptech/glide/load/Key;)Ljava/lang/String; $r7 = virtualinvoke r15.<java.security.MessageDigest: byte[] digest()>() Unexpected call to method <java.security.MessageDigest: byte[] digest()> on object of type java.security.MessageDigest. Expect a call to one of the following methods <java.security.MessageDigest: void update(byte[])>,<java.security.MessageDigest: void update(byte[],int,int)>,<java.security.MessageDigest: byte[] digest(byte[])>,<java.security.MessageDigest: void update(java.nio.ByteBuffer)>,<java.security.MessageDigest: void update(byte)>
4.0.0 no       yes MessageDigest com.bumptech.glide.load.engine.DecodeJob.onDataFetcherReady(Lcom/bumptech/glide/load/Key;Ljava/lang/Object;Lcom/bumptech/glide/load/data/DataFetcher;Lcom/bumptech/glide/load/DataSource;Lcom/bumptech/glide/load/Key;)V specialinvoke r0.<com.bumptech.glide.load.engine.DecodeJob: void notifyEncodeAndRelease(com.bumptech.glide.load.engine.Resource,com.bumptech.glide.load.DataSource)>(r21, $r5) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.util.pool.FactoryPools$FactoryPool.release(Ljava/lang/Object;)Z $r5 = interfaceinvoke $r4.<com.bumptech.glide.util.pool.FactoryPools$Poolable: com.bumptech.glide.util.pool.StateVerifier getVerifier()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
4.1.0 no       yes MessageDigest com.bumptech.glide.load.engine.DecodeJob.onDataFetcherReady(Lcom/bumptech/glide/load/Key;Ljava/lang/Object;Lcom/bumptech/glide/load/data/DataFetcher;Lcom/bumptech/glide/load/DataSource;Lcom/bumptech/glide/load/Key;)V specialinvoke r0.<com.bumptech.glide.load.engine.DecodeJob: void notifyEncodeAndRelease(com.bumptech.glide.load.engine.Resource,com.bumptech.glide.load.DataSource)>(r21, $r5) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.load.engine.DecodePath.decode(Lcom/bumptech/glide/load/data/DataRewinder;IILcom/bumptech/glide/load/Options;Lcom/bumptech/glide/load/engine/DecodePath$DecodeCallback;)Lcom/bumptech/glide/load/engine/Resource; specialinvoke $r7.<java.util.ArrayList: void <init>(java.util.Collection)>(r3) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.util.pool.FactoryPools$FactoryPool.release(Ljava/lang/Object;)Z $r5 = interfaceinvoke $r4.<com.bumptech.glide.util.pool.FactoryPools$Poolable: com.bumptech.glide.util.pool.StateVerifier getVerifier()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
4.1.1 no       yes MessageDigest com.bumptech.glide.load.engine.DecodeJob.onDataFetcherFailed(Lcom/bumptech/glide/load/Key;Ljava/lang/Exception;Lcom/bumptech/glide/load/data/DataFetcher;Lcom/bumptech/glide/load/DataSource;)V $z2 = interfaceinvoke $r3.<com.bumptech.glide.load.engine.DataFetcherGenerator: boolean startNext()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.load.engine.DecodePath.decode(Lcom/bumptech/glide/load/data/DataRewinder;IILcom/bumptech/glide/load/Options;Lcom/bumptech/glide/load/engine/DecodePath$DecodeCallback;)Lcom/bumptech/glide/load/engine/Resource; specialinvoke $r7.<java.util.ArrayList: void <init>(java.util.Collection)>(r3) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.load.engine.LoadPath.load(Lcom/bumptech/glide/load/data/DataRewinder;Lcom/bumptech/glide/load/Options;IILcom/bumptech/glide/load/engine/DecodePath$DecodeCallback;)Lcom/bumptech/glide/load/engine/Resource; specialinvoke $r9.<java.util.ArrayList: void <init>(java.util.Collection)>(r4) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.load.engine.SourceGenerator.startNext()Z $z3 = virtualinvoke $r21.<com.bumptech.glide.load.engine.DataCacheGenerator: boolean startNext()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.load.engine.SourceGenerator.startNext()Z interfaceinvoke $r15.<com.bumptech.glide.load.data.DataFetcher: void loadData(com.bumptech.glide.Priority,com.bumptech.glide.load.data.DataFetcher$DataCallback)>($r16, r0) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.util.pool.FactoryPools$FactoryPool.release(Ljava/lang/Object;)Z $r5 = interfaceinvoke $r4.<com.bumptech.glide.util.pool.FactoryPools$Poolable: com.bumptech.glide.util.pool.StateVerifier getVerifier()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
4.2.0 no       yes MessageDigest com.bumptech.glide.load.engine.DecodePath.decode(Lcom/bumptech/glide/load/data/DataRewinder;IILcom/bumptech/glide/load/Options;Lcom/bumptech/glide/load/engine/DecodePath$DecodeCallback;)Lcom/bumptech/glide/load/engine/Resource; specialinvoke $r7.<java.util.ArrayList: void <init>(java.util.Collection)>(r3) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.util.pool.FactoryPools$FactoryPool.release(Ljava/lang/Object;)Z $r5 = interfaceinvoke $r4.<com.bumptech.glide.util.pool.FactoryPools$Poolable: com.bumptech.glide.util.pool.StateVerifier getVerifier()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
4.3.0 no       no
4.3.1 no       yes MessageDigest com.bumptech.glide.load.engine.DataCacheGenerator.startNext()Z interfaceinvoke $r30.<com.bumptech.glide.load.data.DataFetcher: void loadData(com.bumptech.glide.Priority,com.bumptech.glide.load.data.DataFetcher$DataCallback)>($r31, r0) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.load.engine.DecodePath.decode(Lcom/bumptech/glide/load/data/DataRewinder;IILcom/bumptech/glide/load/Options;Lcom/bumptech/glide/load/engine/DecodePath$DecodeCallback;)Lcom/bumptech/glide/load/engine/Resource; specialinvoke $r7.<java.util.ArrayList: void <init>(java.util.Collection)>(r3) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.load.engine.LoadPath.load(Lcom/bumptech/glide/load/data/DataRewinder;Lcom/bumptech/glide/load/Options;IILcom/bumptech/glide/load/engine/DecodePath$DecodeCallback;)Lcom/bumptech/glide/load/engine/Resource; specialinvoke $r9.<java.util.ArrayList: void <init>(java.util.Collection)>(r4) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.load.engine.SourceGenerator.startNext()Z interfaceinvoke $r15.<com.bumptech.glide.load.data.DataFetcher: void loadData(com.bumptech.glide.Priority,com.bumptech.glide.load.data.DataFetcher$DataCallback)>($r16, r0) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.load.engine.cache.SafeKeyGenerator.getSafeKey(Lcom/bumptech/glide/load/Key;)Ljava/lang/String; $r9 = virtualinvoke $r8.<java.security.MessageDigest: byte[] digest()>() Unexpected call to method <java.security.MessageDigest: byte[] digest()> on object of type java.security.MessageDigest. Expect a call to one of the following methods <java.security.MessageDigest: void update(byte[])>,<java.security.MessageDigest: void update(byte[],int,int)>,<java.security.MessageDigest: byte[] digest(byte[])>,<java.security.MessageDigest: void update(java.nio.ByteBuffer)>,<java.security.MessageDigest: void update(byte)>
- - yes MessageDigest com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.onLoadFailed(Ljava/lang/Exception;)V interfaceinvoke $r2.<java.util.List: boolean add(java.lang.Object)>(r1) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.util.pool.FactoryPools$FactoryPool.release(Ljava/lang/Object;)Z $r5 = interfaceinvoke $r4.<com.bumptech.glide.util.pool.FactoryPools$Poolable: com.bumptech.glide.util.pool.StateVerifier getVerifier()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
4.4.0 no       no
4.5.0 no       yes MessageDigest com.bumptech.glide.load.engine.DecodePath.decode(Lcom/bumptech/glide/load/data/DataRewinder;IILcom/bumptech/glide/load/Options;Lcom/bumptech/glide/load/engine/DecodePath$DecodeCallback;)Lcom/bumptech/glide/load/engine/Resource; $r8 = staticinvoke <com.bumptech.glide.util.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>($r7) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.load.engine.DecodePath.decode(Lcom/bumptech/glide/load/data/DataRewinder;IILcom/bumptech/glide/load/Options;Lcom/bumptech/glide/load/engine/DecodePath$DecodeCallback;)Lcom/bumptech/glide/load/engine/Resource; specialinvoke $r7.<java.util.ArrayList: void <init>(java.util.Collection)>(r3) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.util.pool.FactoryPools$FactoryPool.release(Ljava/lang/Object;)Z $r5 = interfaceinvoke $r4.<com.bumptech.glide.util.pool.FactoryPools$Poolable: com.bumptech.glide.util.pool.StateVerifier getVerifier()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
4.6.0 no       yes MessageDigest com.bumptech.glide.RequestBuilder.into(Landroid/widget/ImageView;)Lcom/bumptech/glide/request/target/ViewTarget; $r8 = staticinvoke <com.bumptech.glide.util.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(r4) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.RequestBuilder.into(Landroid/widget/ImageView;)Lcom/bumptech/glide/request/target/ViewTarget; interfaceinvoke r4.<com.bumptech.glide.request.Request: void begin()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.RequestBuilder.into(Landroid/widget/ImageView;)Lcom/bumptech/glide/request/target/ViewTarget; virtualinvoke $r7.<com.bumptech.glide.RequestManager: void track(com.bumptech.glide.request.target.Target,com.bumptech.glide.request.Request)>(r1, r3) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.manager.RequestTracker.restartRequests()V $z1 = interfaceinvoke r2.<com.bumptech.glide.request.Request: boolean isComplete()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.manager.RequestTracker.restartRequests()V $z2 = interfaceinvoke r2.<com.bumptech.glide.request.Request: boolean isCancelled()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.manager.RequestTracker.restartRequests()V interfaceinvoke $r6.<java.util.List: boolean add(java.lang.Object)>(r2) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.manager.RequestTracker.restartRequests()V interfaceinvoke r2.<com.bumptech.glide.request.Request: void begin()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.manager.RequestTracker.resumeRequests()V $z1 = interfaceinvoke r2.<com.bumptech.glide.request.Request: boolean isComplete()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.manager.RequestTracker.resumeRequests()V $z2 = interfaceinvoke r2.<com.bumptech.glide.request.Request: boolean isCancelled()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.manager.RequestTracker.resumeRequests()V $z3 = interfaceinvoke r2.<com.bumptech.glide.request.Request: boolean isRunning()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.manager.RequestTracker.resumeRequests()V interfaceinvoke r2.<com.bumptech.glide.request.Request: void begin()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.request.ErrorRequestCoordinator.begin()V interfaceinvoke $r2.<com.bumptech.glide.request.Request: void begin()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.request.ErrorRequestCoordinator.onRequestFailed(Lcom/bumptech/glide/request/Request;)V interfaceinvoke $r6.<com.bumptech.glide.request.Request: void begin()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.request.ThumbnailRequestCoordinator.begin()V interfaceinvoke $r3.<com.bumptech.glide.request.Request: void begin()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.request.ThumbnailRequestCoordinator.begin()V interfaceinvoke $r5.<com.bumptech.glide.request.Request: void begin()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.request.target.ViewTarget.resumeMyRequest()V $z0 = interfaceinvoke r1.<com.bumptech.glide.request.Request: boolean isPaused()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.request.target.ViewTarget.resumeMyRequest()V interfaceinvoke r1.<com.bumptech.glide.request.Request: void begin()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.request.target.ViewTarget$SizeDeterminer.notifyCbs(II)V interfaceinvoke r2.<com.bumptech.glide.request.target.SizeReadyCallback: void onSizeReady(int,int)>(i0, i1) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.util.ViewPreloadSizeProvider.<init>(Landroid/view/View;)V specialinvoke $r2.<com.bumptech.glide.util.ViewPreloadSizeProvider$SizeViewTarget: void <init>(android.view.View,com.bumptech.glide.request.target.SizeReadyCallback)>(r1, r0) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.util.ViewPreloadSizeProvider.setView(Landroid/view/View;)V specialinvoke $r4.<com.bumptech.glide.util.ViewPreloadSizeProvider$SizeViewTarget: void <init>(android.view.View,com.bumptech.glide.request.target.SizeReadyCallback)>(r1, r0) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
4.6.1 no       yes MessageDigest com.bumptech.glide.load.engine.LoadPath.load(Lcom/bumptech/glide/load/data/DataRewinder;Lcom/bumptech/glide/load/Options;IILcom/bumptech/glide/load/engine/DecodePath$DecodeCallback;)Lcom/bumptech/glide/load/engine/Resource; $r9 = staticinvoke <com.bumptech.glide.util.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>($r8) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.load.engine.LoadPath.load(Lcom/bumptech/glide/load/data/DataRewinder;Lcom/bumptech/glide/load/Options;IILcom/bumptech/glide/load/engine/DecodePath$DecodeCallback;)Lcom/bumptech/glide/load/engine/Resource; specialinvoke $r9.<java.util.ArrayList: void <init>(java.util.Collection)>(r4) Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
- - yes MessageDigest com.bumptech.glide.util.pool.FactoryPools$FactoryPool.release(Ljava/lang/Object;)Z $r5 = interfaceinvoke $r4.<com.bumptech.glide.util.pool.FactoryPools$Poolable: com.bumptech.glide.util.pool.StateVerifier getVerifier()>() Operation on object of type java.security.MessageDigest object not completed. Expected call to digest, update
4.7.0 no       no
4.7.1 no       no
4.8.0 no       no