[gthumb] jpeg loader: call alloc_sarray before jpeg_start_decompress
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb] jpeg loader: call alloc_sarray before jpeg_start_decompress
- Date: Sun, 30 Jun 2013 08:41:13 +0000 (UTC)
commit b35be8c96a8b97d5cc7d50cd2959c0acdf677ab3
Author: Paolo Bacchilega <paobac src gnome org>
Date: Fri Jun 28 16:49:48 2013 +0200
jpeg loader: call alloc_sarray before jpeg_start_decompress
to avoid possible out-of-memory errors.
extensions/cairo_io/cairo-image-surface-jpeg.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
---
diff --git a/extensions/cairo_io/cairo-image-surface-jpeg.c b/extensions/cairo_io/cairo-image-surface-jpeg.c
index 616ef92..b8ee828 100644
--- a/extensions/cairo_io/cairo-image-surface-jpeg.c
+++ b/extensions/cairo_io/cairo-image-surface-jpeg.c
@@ -221,10 +221,13 @@ _cairo_image_surface_create_from_jpeg (GInputStream *istream,
if (srcinfo.scale_denom == 0)
srcinfo.scale_denom = srcinfo.scale_num;
-
- jpeg_calc_output_dimensions (&srcinfo);
}
+ jpeg_calc_output_dimensions (&srcinfo);
+
+ buffer_stride = srcinfo.output_width * srcinfo.output_components;
+ buffer = (*srcinfo.mem->alloc_sarray) ((j_common_ptr) &srcinfo, JPOOL_IMAGE, buffer_stride,
srcinfo.rec_outbuf_height);
+
jpeg_start_decompress (&srcinfo);
orientation = _jpeg_exif_orientation (in_buffer, in_buffer_size);
@@ -257,9 +260,6 @@ _cairo_image_surface_create_from_jpeg (GInputStream *istream,
metadata = _cairo_image_surface_get_metadata (surface);
metadata->has_alpha = FALSE;
-
- buffer_stride = srcinfo.output_width * srcinfo.output_components;
- buffer = (*srcinfo.mem->alloc_sarray) ((j_common_ptr) &srcinfo, JPOOL_IMAGE, buffer_stride,
srcinfo.rec_outbuf_height);
surface_row = _cairo_image_surface_flush_and_get_data (surface) + line_start;
switch (srcinfo.out_color_space) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]