From: Matthias Clasen Date: Wed, 10 Aug 2022 17:25:17 +0000 (-0400) Subject: jpeg loader: Limit memory consumption X-Git-Tag: archive/raspbian/4.8.3+ds-2+rpi1~3^2~20^2~4^2~2^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=59f6c50df8d4d9;p=gtk4.git jpeg loader: Limit memory consumption This will prevent stupid oom situations with pathological jpeg files, without affecting our ability to load reasonable images. --- 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,