]> git.draconx.ca Git - liblbx.git/blobdiff - src/image.c
liblbx: Add a hard check for image leadin versus frame count.
[liblbx.git] / src / image.c
index 27c82734bf853ec56742aefd9dbbe66295fa6ca6..adc6a43427289a20b581255abd70be6c1b3c908f 100644 (file)
@@ -93,6 +93,12 @@ static struct lbx_image_priv *lbx_img_init(unsigned char hdr[static HDR_LEN])
        if (img->flags & FLAG_LOOPING)
                img->pub.leadin = 0;
 
+       if (img->pub.leadin >= img->pub.frames) {
+               lbx_error_raise(LBX_EFORMAT);
+               free(img);
+               return NULL;
+       }
+
        return img;
 }
 
@@ -124,7 +130,6 @@ struct lbx_image *lbx_img_open(void *f, const struct lbx_file_ops *fops,
         */
        _lbx_assert(img->wtf  == 0); /* version? */
        _lbx_assert(img->wtf2 == 0); /* very likely is simply reserved. */
-       _lbx_assert(img->pub.frames > img->pub.leadin);
        _lbx_assert(!(img->flags & ~FLAG_ALL));
 
        /* Read all offsets.  Should be merged with identical code in lbx.c */