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'

Reply via email to