redwarp / gifdecoder

An implementation of a gif decoder written 100% in Kotlin, plus an associated Drawable for Android
Apache License 2.0
47 stars 6 forks source link

IndexOutOfBoundsException in the decoder #1

Closed redwarp closed 3 years ago

redwarp commented 3 years ago

The decoder sometimes throws exception on multipl IndexOutOfBoundsExceptions:

java.lang.ArrayIndexOutOfBoundsException: 
  at net.redwarp.gif.decoder.lzw.LzwDecoder.decode (LzwDecoder.java:100)
  at net.redwarp.gif.decoder.Gif.getFrame (Gif.java:98)
  at net.redwarp.gif.decoder.Gif.getCurrentFrame (Gif.java:24)
java.lang.IndexOutOfBoundsException: 
  at java.util.ArrayList.get (ArrayList.java:437)
  at net.redwarp.gif.decoder.Gif.getFrame (Gif.java:17)
  at net.redwarp.gif.decoder.Gif.getCurrentFrame (Gif.java:24)
java.lang.ArrayIndexOutOfBoundsException: 
  at net.redwarp.gif.decoder.Gif.fillPixelsInterlaced (Gif.java:79)
  at net.redwarp.gif.decoder.Gif.fillPixels (Gif.java:6)
  at net.redwarp.gif.decoder.Gif.getFrame (Gif.java:114)
  at net.redwarp.gif.decoder.Gif.getCurrentFrame (Gif.java:24)
java.lang.ArrayIndexOutOfBoundsException: 
  at net.redwarp.gif.decoder.Gif.fillPixelsSimple (Gif.java:75)
  at net.redwarp.gif.decoder.Gif.fillPixels (Gif.java:10)
  at net.redwarp.gif.decoder.Gif.getFrame (Gif.java:114)
  at net.redwarp.gif.decoder.Gif.getCurrentFrame (Gif.java:24)
redwarp commented 3 years ago

And of course, Android stack trace is not helpful :-/