Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package babl for openSUSE:Factory checked in at 2022-11-24 12:22:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/babl (Old) and /work/SRC/openSUSE:Factory/.babl.new.1597 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "babl" Thu Nov 24 12:22:29 2022 rev:61 rq:1037605 version:0.1.98 Changes: -------- --- /work/SRC/openSUSE:Factory/babl/babl.changes 2022-09-02 21:56:17.680260432 +0200 +++ /work/SRC/openSUSE:Factory/.babl.new.1597/babl.changes 2022-11-24 12:22:39.253078302 +0100 @@ -1,0 +2,7 @@ +Tue Nov 22 23:14:15 UTC 2022 - Petr Vorel <[email protected]> + +- update to 0.1.98: + * More robust bounds protection in ICC handling, avoid garbage collecting + lookup tables in-line with processing. + +------------------------------------------------------------------- Old: ---- babl-0.1.96.tar.xz New: ---- babl-0.1.98.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ babl.spec ++++++ --- /var/tmp/diff_new_pack.hiE8Pi/_old 2022-11-24 12:22:39.825081936 +0100 +++ /var/tmp/diff_new_pack.hiE8Pi/_new 2022-11-24 12:22:39.833081987 +0100 @@ -19,7 +19,7 @@ %define debug_package_requires libbabl-0_1-0 = %{version}-%{release} Name: babl -Version: 0.1.96 +Version: 0.1.98 Release: 0 Summary: Dynamic Pixel Format Translation Library License: GPL-3.0-or-later AND LGPL-3.0-or-later ++++++ babl-0.1.96.tar.xz -> babl-0.1.98.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.96/NEWS new/babl-0.1.98/NEWS --- old/babl-0.1.96/NEWS 2022-08-23 14:52:30.000000000 +0200 +++ new/babl-0.1.98/NEWS 2022-11-13 15:45:36.000000000 +0100 @@ -3,6 +3,10 @@ the news section both in the README and the webpage. --> +2022-11-13 babl-0.1.98 </dt><dd> +More robust bounds protection in ICC handling, avoid garbage collecting lookup +tables in-line with processing. + </dd><dt> 2022-08-23 babl-0.1.96 </dt><dd> Minor changes from 0.1.94, fixing build. </dd><dt> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.96/babl/babl-fish-path.c new/babl-0.1.98/babl/babl-fish-path.c --- old/babl-0.1.96/babl/babl-fish-path.c 2022-08-23 14:52:30.000000000 +0200 +++ new/babl-0.1.98/babl/babl-fish-path.c 2022-11-13 15:45:36.000000000 +0100 @@ -106,8 +106,20 @@ fprintf (stdout, "\e[H\e[2J"); } babl_fish_class_for_each (gc_fishes, &context); - //malloc_trim (0); - // is responsibility of higher layers +} + +static long babl_conv_counter = 0; + +void +babl_gc (void) +{ + if (babl_conv_counter > 1000 * 1000 * 10) // run gc every 10 megapixels + { + babl_conv_counter = 0; + babl_gc_fishes (); + //malloc_trim (0); + // is responsibility of higher layers + } } #define BABL_LIKELY(x) __builtin_expect(!!(x), 1) @@ -1227,13 +1239,7 @@ } else { - static long conv_counter = 0; - conv_counter+=n; - if (conv_counter > 1000 * 1000 * 10) // run gc every 10 megapixels - { - conv_counter = 0; - babl_gc_fishes (); - } + babl_conv_counter+=n; } process_conversion_path (babl->fish_path.conversion_list, source, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.96/babl/babl-icc.c new/babl-0.1.98/babl/babl-icc.c --- old/babl-0.1.96/babl/babl-icc.c 2022-08-23 14:52:30.000000000 +0200 +++ new/babl-0.1.98/babl/babl-icc.c 2022-11-13 15:45:36.000000000 +0100 @@ -361,10 +361,23 @@ sign_t sign = icc_read (sign, TAG_COUNT_OFF + 4 + 12 * t); if (!strcmp (sign.str, tag)) { + int off = icc_read (u32, TAG_COUNT_OFF + 4 + 12* t + 4); + int len = icc_read (u32, TAG_COUNT_OFF + 4 + 12* t + 4*2); + + if (off + len > state->length || off < 0) + { + if (offset) + *offset = 0; + if (el_length) + *el_length = 0; + return 0; // broken input + } + if (offset) - *offset = icc_read (u32, TAG_COUNT_OFF + 4 + 12* t + 4); + *offset = off; if (el_length) - *el_length = icc_read (u32, TAG_COUNT_OFF + 4 + 12* t + 4*2); + *el_length = len; + return 1; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.96/babl/babl.h new/babl-0.1.98/babl/babl.h --- old/babl-0.1.96/babl/babl.h 2022-08-23 14:52:30.000000000 +0200 +++ new/babl-0.1.98/babl/babl.h 2022-11-13 15:45:36.000000000 +0100 @@ -724,6 +724,18 @@ BablFishProcess babl_fish_get_process (const Babl *babl); +/** + * babl_gc: (skip) + * + * Do a babl fish garbage collection cycle, should only be called + * from the main thread with no concurrent babl processing in other + * threads in paralell. + * + * Since: babl-0.1.98 + */ +void babl_gc (void); + + /* values below this are stored associated with this value, it should also be * used as a generic alpha zero epsilon in GEGL to keep the threshold effects * on one known value. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.96/export-symbols new/babl-0.1.98/export-symbols --- old/babl-0.1.96/export-symbols 2022-08-23 14:52:30.000000000 +0200 +++ new/babl-0.1.98/export-symbols 2022-11-13 15:45:36.000000000 +0100 @@ -72,6 +72,7 @@ babl_db_each babl_formats_count babl_format_class_for_each +babl_gc babl_model_class_for_each babl_type_class_for_each babl_conversion_class_for_each diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.96/git-version.h new/babl-0.1.98/git-version.h --- old/babl-0.1.96/git-version.h 2022-08-23 15:11:11.450467600 +0200 +++ new/babl-0.1.98/git-version.h 2022-11-13 15:46:30.724189500 +0100 @@ -1,6 +1,6 @@ #ifndef __BABL_GIT_VERSION_H__ #define __BABL_GIT_VERSION_H__ -#define BABL_GIT_VERSION "BABL_0_1_96" +#define BABL_GIT_VERSION "BABL_0_1_98" #endif /* __BABL_GIT_VERSION_H__ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.96/meson.build new/babl-0.1.98/meson.build --- old/babl-0.1.96/meson.build 2022-08-23 14:52:30.000000000 +0200 +++ new/babl-0.1.98/meson.build 2022-11-13 15:45:36.000000000 +0100 @@ -1,6 +1,6 @@ project('babl', 'c', license: 'LGPL3+', - version: '0.1.96', + version: '0.1.98', meson_version: '>=0.54.0', default_options: [ 'buildtype=debugoptimized'
