[Evas]fix evas jpeg load buf
authorJiyoun Park <jy0703.park@samsung.com>
Mon, 11 Jul 2011 04:59:57 +0000 (13:59 +0900)
committerJiyoun Park <jy0703.park@samsung.com>
Mon, 11 Jul 2011 04:59:57 +0000 (13:59 +0900)
if file was damaged, it's file info in file is different from real file size.
in that case jpeg map feature have to deal with file info exceed buffer size.
I add error check code related with this

Change-Id: I72dad10bf48fb6930e3f8d1c1ff85d109d0bf4b9

src/modules/loaders/jpeg/evas_image_load_jpeg.c

index 52feb46..673f262 100644 (file)
@@ -114,8 +114,18 @@ _evas_jpeg_membuf_src_skip(j_decompress_ptr cinfo,
 {
    struct jpeg_membuf_src *src = (struct jpeg_membuf_src *)cinfo->src;
 
+   long rec = 0;
+   rec = src->pub.bytes_in_buffer - num_bytes;
+
+   if (rec <0)
+     {
+        (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo));
+     }
+   else
+     {
    src->pub.bytes_in_buffer -= num_bytes;
    src->pub.next_input_byte += num_bytes;
+     }
 }
 
 static void