Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package pngquant for openSUSE:Factory 
checked in at 2021-12-01 20:46:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pngquant (Old)
 and      /work/SRC/openSUSE:Factory/.pngquant.new.31177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pngquant"

Wed Dec  1 20:46:28 2021 rev:9 rq:934864 version:2.17.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/pngquant/pngquant.changes        2021-06-25 
15:01:29.688163057 +0200
+++ /work/SRC/openSUSE:Factory/.pngquant.new.31177/pngquant.changes     
2021-12-02 02:21:28.101400035 +0100
@@ -1,0 +2,6 @@
+Sat Nov 27 13:07:38 UTC 2021 - Dirk M??ller <dmuel...@suse.com>
+
+- update to 2.17.0:
+  - reduced stack usage, preventing stack overflow in pathological cases
+
+-------------------------------------------------------------------

Old:
----
  pngquant-2.15.1.tar.gz

New:
----
  pngquant-2.17.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ pngquant.spec ++++++
--- /var/tmp/diff_new_pack.YSNtzz/_old  2021-12-02 02:21:28.453398807 +0100
+++ /var/tmp/diff_new_pack.YSNtzz/_new  2021-12-02 02:21:28.457398792 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           pngquant
-Version:        2.15.1
+Version:        2.17.0
 Release:        0
 Summary:        Tool for lossy compression of PNG images
 License:        GPL-3.0-or-later

++++++ pngquant-2.15.1.tar.gz -> pngquant-2.17.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pngquant-2.15.1/.github/workflows/ci.yml 
new/pngquant-2.17.0/.github/workflows/ci.yml
--- old/pngquant-2.15.1/.github/workflows/ci.yml        1970-01-01 
01:00:00.000000000 +0100
+++ new/pngquant-2.17.0/.github/workflows/ci.yml        2021-11-21 
23:19:03.000000000 +0100
@@ -0,0 +1,28 @@
+name: CI
+
+on:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+
+env:
+  CARGO_TERM_COLOR: always
+
+jobs:
+  build:
+
+    runs-on: ubuntu-latest
+
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          submodules: true
+      - uses: actions-rs/toolchain@v1
+        with:
+          toolchain: stable
+      - uses: actions-rs/cargo@v1
+        with:
+          command: test
+          args: --all
+          
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pngquant-2.15.1/.travis.yml 
new/pngquant-2.17.0/.travis.yml
--- old/pngquant-2.15.1/.travis.yml     2021-05-13 11:30:18.000000000 +0200
+++ new/pngquant-2.17.0/.travis.yml     1970-01-01 01:00:00.000000000 +0100
@@ -1,21 +0,0 @@
-language: c
-sudo: required
-
-os:
-  - linux
-  - osx
-
-before_install:
-  - if [[ $TRAVIS_OS_NAME = "osx" ]]; then
-      brew install lcms2 || true;
-    elif [[ $TRAVIS_OS_NAME = "linux" ]]; then
-      echo "deb-src http://archive.ubuntu.com/ubuntu xenial main restricted 
universe multiverse" | sudo tee -a /etc/apt/sources.list;
-      sudo apt-get update -q;
-      sudo apt-get build-dep -y libpng16-16;
-      sudo apt-get source -b -t xenial libpng16-16;
-    fi
-
-script:
-  - ./configure --with-lcms2
-  - make
-  - make test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pngquant-2.15.1/CHANGELOG 
new/pngquant-2.17.0/CHANGELOG
--- old/pngquant-2.15.1/CHANGELOG       2021-05-13 11:30:18.000000000 +0200
+++ new/pngquant-2.17.0/CHANGELOG       2021-11-21 23:19:03.000000000 +0100
@@ -1,3 +1,7 @@
+version 2.16
+------------
+- reduced stack usage, prevenitng stack overlfow in pathological cases
+
 version 2.13-2.15
 ------------
  - speed and quality improvements
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pngquant-2.15.1/Cargo.toml 
new/pngquant-2.17.0/Cargo.toml
--- old/pngquant-2.15.1/Cargo.toml      2021-05-13 11:30:18.000000000 +0200
+++ new/pngquant-2.17.0/Cargo.toml      2021-11-21 23:19:03.000000000 +0100
@@ -1,12 +1,12 @@
 [package]
-version = "2.15.1"
+version = "2.17.0"
 authors = ["Kornel Lesin??ski <kor...@pngquant.org>"]
 build = "rust/build.rs"
 categories = ["multimedia::images"]
 description = "Convert 24/32-bit images to 8-bit palette with alpha 
channel.\nBindings for libimagequant that powers pngquant lossy PNG 
compressor.\n\nDual-licensed like pngquant. See https://pngquant.org for 
details."
 documentation= "https://github.com/kornelski/pngquant#readme";
 homepage = "https://pngquant.org";
-include = ["/rwpng*", "/pngquant.c", "/rust/*", "/COPYRIGHT", "/Cargo.toml", 
"/README.md"]
+include = ["/rwpng*.[ch]", "/pngquant.c","/pngquant_opts.[ch]", "/rust/*.rs", 
"/COPYRIGHT", "/Cargo.toml", "/README.md"]
 keywords = ["quantization", "palette", "image", "pngquant", "compression"]
 license = "GPL-3.0+"
 name = "pngquant"
@@ -19,12 +19,12 @@
 path = "rust/bin.rs"
 
 [build-dependencies]
-cc = "1.0.66"
-dunce = "1.0.1"
+cc = "1.0.71"
+dunce = "1.0.2"
 
 [dependencies]
 getopts = "0.2.21"
-libc = "0.2.82"
+libc = "0.2.106"
 libpng-sys = "1.1.8"
 wild = "2.0.4"
 
@@ -38,11 +38,11 @@
 
 [dependencies.lcms2-sys]
 optional = true
-version = "3.1.6"
+version = "3.1.9"
 
 [dependencies.openmp-sys]
 optional = true
-version = "1.0.0"
+version = "1.2.0"
 
 [features]
 cocoa = ["cocoa_image"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pngquant-2.15.1/README.md 
new/pngquant-2.17.0/README.md
--- old/pngquant-2.15.1/README.md       2021-05-13 11:30:18.000000000 +0200
+++ new/pngquant-2.17.0/README.md       2021-11-21 23:19:03.000000000 +0100
@@ -1,4 +1,4 @@
-# pngquant 2 
[![build](https://travis-ci.org/kornelski/pngquant.svg?branch=master)](https://travis-ci.org/kornelski/pngquant)
+# pngquant 2 
[![CI](https://github.com/kornelski/pngquant/actions/workflows/ci.yml/badge.svg)](https://github.com/kornelski/pngquant/actions/workflows/ci.yml)
 
 [pngquant](https://pngquant.org) is a PNG compressor that significantly 
reduces file sizes by converting images to a more efficient 8-bit PNG format 
*with alpha channel* (often 60-80% smaller than 24/32-bit PNG files). 
Compressed images are fully standards-compliant and are supported by all web 
browsers and operating systems.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pngquant-2.15.1/pngquant.c 
new/pngquant-2.17.0/pngquant.c
--- old/pngquant-2.15.1/pngquant.c      2021-05-13 11:30:18.000000000 +0200
+++ new/pngquant-2.17.0/pngquant.c      2021-11-21 23:19:03.000000000 +0100
@@ -58,7 +58,7 @@
 #include "libimagequant.h" /* if it fails here, run: git submodule update; 
./configure; or add -Ilib to compiler flags */
 #include "pngquant_opts.h"
 
-char *PNGQUANT_VERSION = LIQ_VERSION_STRING " (May 2021)";
+char *PNGQUANT_VERSION = LIQ_VERSION_STRING " (September 2021)";
 
 static pngquant_error prepare_output_image(liq_result *result, liq_image 
*input_image, rwpng_color_transform tag, png8_image *output_image);
 static void set_palette(liq_result *result, png8_image *output_image);
@@ -324,6 +324,10 @@
 // Don't use this. This is not a public API.
 pngquant_error pngquant_main_internal(struct pngquant_options *options, 
liq_attr *liq)
 {
+#if defined(_WIN32) || defined(WIN32) || defined(__WIN32__)
+    setlocale(LC_ALL, ".65001"); // issue #376; set UTF-8 for Unicode filenames
+#endif
+
     if (options->map_file) {
         png24_image tmp = {.width=0};
         if (SUCCESS != read_image(liq, options->map_file, false, &tmp, 
&options->fixed_palette_image, true, true, false)) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pngquant-2.15.1/pngquant.spec 
new/pngquant-2.17.0/pngquant.spec
--- old/pngquant-2.15.1/pngquant.spec   2021-05-13 11:30:18.000000000 +0200
+++ new/pngquant-2.17.0/pngquant.spec   2021-11-21 23:19:03.000000000 +0100
@@ -1,5 +1,5 @@
 Name:           pngquant
-Version:        2.15.1
+Version:        2.17.0
 Release:        1%{?dist}
 Summary:        PNG quantization tool for reducing image file size
 # New code is under GPL, forked from old BSD-like
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pngquant-2.15.1/rust/ffi.rs 
new/pngquant-2.17.0/rust/ffi.rs
--- old/pngquant-2.15.1/rust/ffi.rs     2021-05-13 11:30:18.000000000 +0200
+++ new/pngquant-2.17.0/rust/ffi.rs     2021-11-21 23:19:03.000000000 +0100
@@ -18,6 +18,7 @@
 #[derive(Debug, Copy, Clone)]
 #[allow(dead_code)]
 #[allow(non_camel_case_types)]
+#[non_exhaustive]
 pub enum pngquant_error {
     SUCCESS = 0,
     MISSING_ARGUMENT = 1,
@@ -31,6 +32,7 @@
     LIBPNG_FATAL_ERROR = 25,
     WRONG_INPUT_COLOR_TYPE = 26,
     LIBPNG_INIT_ERROR = 35,
+    LCMS_FATAL_ERROR = 45,
     TOO_LARGE_FILE = 98,
     TOO_LOW_QUALITY = 99,
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pngquant-2.15.1/rust/rwpng_cocoa.rs 
new/pngquant-2.17.0/rust/rwpng_cocoa.rs
--- old/pngquant-2.15.1/rust/rwpng_cocoa.rs     2021-05-13 11:30:18.000000000 
+0200
+++ new/pngquant-2.17.0/rust/rwpng_cocoa.rs     2021-11-21 23:19:03.000000000 
+0100
@@ -21,15 +21,16 @@
         Err(_) => return pngquant_error::LIBPNG_FATAL_ERROR,
     };
 
+    let (buf, w, h) = image.into_contiguous_buf();
     *file_size = data.len();
-    *width = image.width() as u32;
-    *height = image.height() as u32;
+    *width = w as u32;
+    *height = h as u32;
     unsafe {
-        *out = malloc(image.buf.len() * 
::std::mem::size_of::<cocoa_image::RGBA8>()) as *mut _;
+        *out = malloc(buf.len() * std::mem::size_of::<cocoa_image::RGBA8>()) 
as *mut cocoa_image::RGBA8;
         if (*out).is_null() {
             return pngquant_error::OUT_OF_MEMORY_ERROR;
         }
-        ::std::slice::from_raw_parts_mut(*out, 
image.buf.len()).clone_from_slice(&image.buf);
+        std::slice::from_raw_parts_mut(*out, buf.len()).copy_from_slice(&buf);
     }
 
     pngquant_error::SUCCESS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pngquant-2.15.1/rwpng.c new/pngquant-2.17.0/rwpng.c
--- old/pngquant-2.15.1/rwpng.c 2021-05-13 11:30:18.000000000 +0200
+++ new/pngquant-2.17.0/rwpng.c 2021-11-21 23:19:03.000000000 +0100
@@ -376,6 +376,12 @@
                                                       hOutProfile, TYPE_RGBA_8,
                                                       INTENT_PERCEPTUAL,
                                                       omp_get_max_threads() > 
1 ? cmsFLAGS_NOCACHE : 0);
+        if(!hTransform) {
+            png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+            cmsCloseProfile(hOutProfile);
+            cmsCloseProfile(hInProfile);
+            return LCMS_FATAL_ERROR;
+        }
 
         #pragma omp parallel for \
             if (mainprog_ptr->height*mainprog_ptr->width > 8000) \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pngquant-2.15.1/rwpng.h new/pngquant-2.17.0/rwpng.h
--- old/pngquant-2.15.1/rwpng.h 2021-05-13 11:30:18.000000000 +0200
+++ new/pngquant-2.17.0/rwpng.h 2021-11-21 23:19:03.000000000 +0100
@@ -32,6 +32,7 @@
     LIBPNG_FATAL_ERROR = 25,
     WRONG_INPUT_COLOR_TYPE = 26,
     LIBPNG_INIT_ERROR = 35,
+    LCMS_FATAL_ERROR = 45,
     TOO_LARGE_FILE = 98,
     TOO_LOW_QUALITY = 99,
 } pngquant_error;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pngquant-2.15.1/snapcraft.yaml 
new/pngquant-2.17.0/snapcraft.yaml
--- old/pngquant-2.15.1/snapcraft.yaml  2021-05-13 11:30:18.000000000 +0200
+++ new/pngquant-2.17.0/snapcraft.yaml  2021-11-21 23:19:03.000000000 +0100
@@ -1,5 +1,5 @@
 name: pngquant
-version: 2.15.1
+version: 2.17.0
 summary: pngquant
 description: |
   Lossy PNG compressor ??? pngquant command based
@@ -18,7 +18,7 @@
   pngquant:
     source-type: git
     source: https://github.com/kornelski/pngquant.git
-    source-tag: 2.15.1
+    source-tag: 2.17.0
     plugin: autotools
     configflags:
       - --with-openmp

Reply via email to