]> mj.ucw.cz Git - libucw.git/commitdiff
fixed segfault when libjpeg asked to skip behind EOF
authorPavel Charvat <pavel.charvat@netcentrum.cz>
Wed, 27 Sep 2006 11:06:17 +0000 (13:06 +0200)
committerPavel Charvat <pavel.charvat@netcentrum.cz>
Wed, 27 Sep 2006 11:06:17 +0000 (13:06 +0200)
images/io-libjpeg.c

index 30bd0fff4b90061f16a135a275e7bbd2c9a73634..ccc20f36f9fd10316bc17ed0aebedef9b0dfaa52 100644 (file)
@@ -136,7 +136,11 @@ libjpeg_skip_input_data(j_decompress_ptr cinfo, long num_bytes)
          num_bytes -= i->src.bytes_in_buffer;
          libjpeg_fastbuf_read_commit(i);
          bskip(i->fastbuf, num_bytes);
-         libjpeg_fastbuf_read_prepare(i);
+         if (!libjpeg_fastbuf_read_prepare(i))
+           {
+             IMAGE_ERROR(i->err.io->context, IMAGE_ERROR_READ_FAILED, "Incomplete JPEG file");
+             longjmp(i->err.setjmp_buf, 1);
+           }
        }
     }
 }