[gtk/matthiasc/for-main] jpeg loader: Limit memory consumption




commit 59f6c50df8d4d9ceb90f109f6af5a96add3ec928
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Aug 10 13:25:17 2022 -0400

    jpeg loader: Limit memory consumption
    
    This will prevent stupid oom situations with pathological
    jpeg files, without affecting our ability to load reasonable
    images.

 gdk/loaders/gdkjpeg.c | 5 +++++
 1 file changed, 5 insertions(+)
---
diff --git a/gdk/loaders/gdkjpeg.c b/gdk/loaders/gdkjpeg.c
index 8f7e422f0c..a2467cc286 100644
--- a/gdk/loaders/gdkjpeg.c
+++ b/gdk/loaders/gdkjpeg.c
@@ -161,6 +161,8 @@ gdk_load_jpeg (GBytes  *input_bytes,
 
   jpeg_create_decompress (&info);
 
+  info.mem->max_memory_to_use = 100 * 1024 * 1024;
+
   jpeg_mem_src (&info,
                 g_bytes_get_data (input_bytes, NULL),
                 g_bytes_get_size (input_bytes));
@@ -272,6 +274,7 @@ gdk_save_jpeg (GdkTexture *texture)
 
   info.err = jpeg_std_error (&err);
   jpeg_create_compress (&info);
+
   info.image_width = width;
   info.image_height = height;
   info.input_components = 3;
@@ -280,6 +283,8 @@ gdk_save_jpeg (GdkTexture *texture)
   jpeg_set_defaults (&info);
   jpeg_set_quality (&info, 75, TRUE);
 
+  info.mem->max_memory_to_use = 100 * 1024 * 1024;
+
   jpeg_mem_dest (&info, &data, &size);
 
   memtex = gdk_memory_texture_from_texture (texture,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]