Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package feh for openSUSE:Factory checked in 
at 2021-11-03 17:26:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/feh (Old)
 and      /work/SRC/openSUSE:Factory/.feh.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "feh"

Wed Nov  3 17:26:06 2021 rev:42 rq:928941 version:3.7.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/feh/feh.changes  2021-05-12 19:33:16.870786192 
+0200
+++ /work/SRC/openSUSE:Factory/.feh.new.1890/feh.changes        2021-11-03 
17:27:01.433362096 +0100
@@ -1,0 +2,9 @@
+Mon Nov  1 12:48:00 UTC 2021 - Ferdinand Thiessen <[email protected]>
+
+- Update to version 3.7.2:
+    * Fix crash when running feh without stdin file descriptor
+    * Support JPEG XL files when using imlib2-jxl
+    * Fix support for images smaller than 16 bytes
+    * Fix some out of bounds reads
+
+-------------------------------------------------------------------

Old:
----
  feh-3.7.tar.bz2
  feh-3.7.tar.bz2.asc

New:
----
  feh-3.7.2.tar.bz2
  feh-3.7.2.tar.bz2.asc

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

Other differences:
------------------
++++++ feh.spec ++++++
--- /var/tmp/diff_new_pack.zhFahT/_old  2021-11-03 17:27:01.877362339 +0100
+++ /var/tmp/diff_new_pack.zhFahT/_new  2021-11-03 17:27:01.881362342 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           feh
-Version:        3.7
+Version:        3.7.2
 Release:        0
 Summary:        X11 image viewer
 License:        MIT AND LGPL-2.0-or-later

++++++ feh-3.7.tar.bz2 -> feh-3.7.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-3.7/ChangeLog new/feh-3.7.2/ChangeLog
--- old/feh-3.7/ChangeLog       2021-05-09 11:33:00.000000000 +0200
+++ new/feh-3.7.2/ChangeLog     2021-09-25 09:24:31.000000000 +0200
@@ -1,3 +1,15 @@
+Sat, 25 Sep 2021 09:21:25 +0200  Daniel Friesel <[email protected]>
+
+* Release v3.7.2
+    * Fix crash when running feh without stdin file descriptor
+
+Sat, 24 Jul 2021 22:30:12 +0200  Daniel Friesel <[email protected]>
+
+* Release v3.7.1
+    * Support JPEG XL files when using imlib2-jxl (patch by Alistair)
+    * Fix support for images smaller than 16 bytes (patch by David Buchanan)
+    * Fix some out of bounds reads (patches by Tobias Stoeckmann)
+
 Sun, 09 May 2021 11:31:55 +0200  Daniel Friesel <[email protected]>
 
 * Release v3.7
@@ -40,6 +52,7 @@
     * Fix memory leak when reloading HTTP files with --no-conversion-cache
 
 Mon, 30 Nov 2020 19:44:47 +0100  Daniel Friesel <[email protected]>
+
 * Release v3.6
     * Add flip and rotate options to the menu
     * Improve unloadable image detection time (e.g. for large video files) by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-3.7/config.mk new/feh-3.7.2/config.mk
--- old/feh-3.7/config.mk       2021-05-09 11:33:00.000000000 +0200
+++ new/feh-3.7.2/config.mk     2021-09-25 09:24:31.000000000 +0200
@@ -1,5 +1,5 @@
 PACKAGE ?= feh
-VERSION ?= 3.7
+VERSION ?= 3.7.2
 
 app ?= 0
 curl ?= 1
@@ -90,7 +90,7 @@
        MAN_INOTIFY = disabled
 endif
 
-MAN_DATE ?= May 09, 2021
+MAN_DATE ?= September 25, 2021
 
 # Uncomment this to use dmalloc
 #CFLAGS += -DWITH_DMALLOC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-3.7/man/feh.pre new/feh-3.7.2/man/feh.pre
--- old/feh-3.7/man/feh.pre     2021-05-09 11:33:00.000000000 +0200
+++ new/feh-3.7.2/man/feh.pre   2021-09-25 09:24:31.000000000 +0200
@@ -2123,6 +2123,13 @@
 .
 .Sh KNOWN BUGS
 .
+Imlib2 releases prior to 1.7.4 are unable to load gif, tiff, and webp images
+if the filename does not end with gif, tiff, or webp, respectively.
+Notably, this means that feh is unable to show gif, tiff, and webp images from
+stdin or network URLs on systems using an Imlib2 version older than 1.7.4.
+.
+.Pp
+.
 On systems with giflib 5.1.2,
 .Nm
 may be unable to load gif images.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-3.7/src/deps.mk new/feh-3.7.2/src/deps.mk
--- old/feh-3.7/src/deps.mk     2021-05-09 11:33:00.000000000 +0200
+++ new/feh-3.7.2/src/deps.mk   2021-09-25 09:24:31.000000000 +0200
@@ -1,57 +1,57 @@
 events.o: events.c feh.h gib_hash.h gib_list.h gib_imlib.h gib_style.h \
-  structs.h menu.h utils.h getopt.h debug.h filelist.h winwidget.h \
-  timers.h options.h events.h thumbnail.h
+ structs.h menu.h utils.h getopt.h debug.h filelist.h winwidget.h \
+ timers.h options.h events.h thumbnail.h
 feh_png.o: feh_png.c feh_png.h feh.h gib_hash.h gib_list.h gib_imlib.h \
-  gib_style.h structs.h menu.h utils.h getopt.h debug.h
+ gib_style.h structs.h menu.h utils.h getopt.h debug.h
 filelist.o: filelist.c feh.h gib_hash.h gib_list.h gib_imlib.h \
-  gib_style.h structs.h menu.h utils.h getopt.h debug.h filelist.h \
-  signals.h options.h
+ gib_style.h structs.h menu.h utils.h getopt.h debug.h filelist.h \
+ signals.h options.h
 getopt.o: getopt.c
 getopt1.o: getopt1.c getopt.h
 gib_hash.o: gib_hash.c gib_hash.h gib_list.h utils.h debug.h
 gib_imlib.o: gib_imlib.c gib_imlib.h gib_style.h gib_list.h utils.h \
-  debug.h
+ debug.h
 gib_list.o: gib_list.c gib_list.h utils.h debug.h
 gib_style.o: gib_style.c gib_style.h gib_list.h utils.h debug.h
 imlib.o: imlib.c feh.h gib_hash.h gib_list.h gib_imlib.h gib_style.h \
-  structs.h menu.h utils.h getopt.h debug.h filelist.h signals.h \
-  winwidget.h options.h
+ structs.h menu.h utils.h getopt.h debug.h filelist.h signals.h \
+ winwidget.h options.h
 index.o: index.c feh.h gib_hash.h gib_list.h gib_imlib.h gib_style.h \
-  structs.h menu.h utils.h getopt.h debug.h filelist.h winwidget.h \
-  options.h index.h
+ structs.h menu.h utils.h getopt.h debug.h filelist.h winwidget.h \
+ options.h index.h
 keyevents.o: keyevents.c feh.h gib_hash.h gib_list.h gib_imlib.h \
-  gib_style.h structs.h menu.h utils.h getopt.h debug.h thumbnail.h \
-  filelist.h winwidget.h options.h
+ gib_style.h structs.h menu.h utils.h getopt.h debug.h thumbnail.h \
+ filelist.h winwidget.h options.h
 list.o: list.c feh.h gib_hash.h gib_list.h gib_imlib.h gib_style.h \
-  structs.h menu.h utils.h getopt.h debug.h filelist.h options.h
+ structs.h menu.h utils.h getopt.h debug.h filelist.h options.h
 main.o: main.c feh.h gib_hash.h gib_list.h gib_imlib.h gib_style.h \
-  structs.h menu.h utils.h getopt.h debug.h filelist.h winwidget.h \
-  timers.h options.h events.h signals.h wallpaper.h
+ structs.h menu.h utils.h getopt.h debug.h filelist.h winwidget.h \
+ timers.h options.h events.h signals.h wallpaper.h
 md5.o: md5.c md5.h
 menu.o: menu.c feh.h gib_hash.h gib_list.h gib_imlib.h gib_style.h \
-  structs.h menu.h utils.h getopt.h debug.h thumbnail.h filelist.h \
-  winwidget.h wallpaper.h options.h
+ structs.h menu.h utils.h getopt.h debug.h thumbnail.h filelist.h \
+ winwidget.h wallpaper.h options.h
 multiwindow.o: multiwindow.c feh.h gib_hash.h gib_list.h gib_imlib.h \
-  gib_style.h structs.h menu.h utils.h getopt.h debug.h winwidget.h \
-  timers.h filelist.h options.h signals.h
+ gib_style.h structs.h menu.h utils.h getopt.h debug.h winwidget.h \
+ timers.h filelist.h options.h signals.h
 options.o: options.c feh.h gib_hash.h gib_list.h gib_imlib.h gib_style.h \
-  structs.h menu.h utils.h getopt.h debug.h filelist.h options.h
+ structs.h menu.h utils.h getopt.h debug.h filelist.h options.h
 signals.o: signals.c feh.h gib_hash.h gib_list.h gib_imlib.h gib_style.h \
-  structs.h menu.h utils.h getopt.h debug.h filelist.h winwidget.h \
-  options.h
+ structs.h menu.h utils.h getopt.h debug.h filelist.h winwidget.h \
+ options.h
 slideshow.o: slideshow.c feh.h gib_hash.h gib_list.h gib_imlib.h \
-  gib_style.h structs.h menu.h utils.h getopt.h debug.h filelist.h \
-  timers.h winwidget.h options.h signals.h
+ gib_style.h structs.h menu.h utils.h getopt.h debug.h filelist.h \
+ timers.h winwidget.h options.h signals.h
 thumbnail.o: thumbnail.c feh.h gib_hash.h gib_list.h gib_imlib.h \
-  gib_style.h structs.h menu.h utils.h getopt.h debug.h filelist.h \
-  winwidget.h options.h thumbnail.h md5.h feh_png.h index.h signals.h
+ gib_style.h structs.h menu.h utils.h getopt.h debug.h filelist.h \
+ winwidget.h options.h thumbnail.h md5.h feh_png.h index.h signals.h
 timers.o: timers.c feh.h gib_hash.h gib_list.h gib_imlib.h gib_style.h \
-  structs.h menu.h utils.h getopt.h debug.h options.h timers.h
+ structs.h menu.h utils.h getopt.h debug.h options.h timers.h
 utils.o: utils.c feh.h gib_hash.h gib_list.h gib_imlib.h gib_style.h \
-  structs.h menu.h utils.h getopt.h debug.h options.h
+ structs.h menu.h utils.h getopt.h debug.h options.h
 wallpaper.o: wallpaper.c feh.h gib_hash.h gib_list.h gib_imlib.h \
-  gib_style.h structs.h menu.h utils.h getopt.h debug.h filelist.h \
-  options.h wallpaper.h
+ gib_style.h structs.h menu.h utils.h getopt.h debug.h filelist.h \
+ options.h wallpaper.h
 winwidget.o: winwidget.c feh.h gib_hash.h gib_list.h gib_imlib.h \
-  gib_style.h structs.h menu.h utils.h getopt.h debug.h filelist.h \
-  winwidget.h options.h events.h timers.h
+ gib_style.h structs.h menu.h utils.h getopt.h debug.h filelist.h \
+ winwidget.h options.h events.h timers.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-3.7/src/filelist.c new/feh-3.7.2/src/filelist.c
--- old/feh-3.7/src/filelist.c  2021-05-09 11:33:00.000000000 +0200
+++ new/feh-3.7.2/src/filelist.c        2021-09-25 09:24:31.000000000 +0200
@@ -24,19 +24,15 @@
 
 */
 
-#ifdef HAVE_LIBEXIF
-#include <libexif/exif-data.h>
-#endif
-
-#ifdef HAVE_LIBCURL
-#include <curl/curl.h>
-#endif
-
 #include "feh.h"
 #include "filelist.h"
 #include "signals.h"
 #include "options.h"
 
+#ifdef HAVE_LIBCURL
+#include <curl/curl.h>
+#endif
+
 gib_list *filelist = NULL;
 gib_list *original_file_items = NULL; /* original file items from argv */
 int filelist_len = 0;
@@ -202,7 +198,7 @@
        struct stat st;
        char *path;
 
-       if (!origpath)
+       if (!origpath || *origpath == '\0')
                return;
 
        path = estrdup(origpath);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-3.7/src/imlib.c new/feh-3.7.2/src/imlib.c
--- old/feh-3.7/src/imlib.c     2021-05-09 11:33:00.000000000 +0200
+++ new/feh-3.7.2/src/imlib.c   2021-09-25 09:24:31.000000000 +0200
@@ -253,7 +253,9 @@
        if (!fh) {
                return 0;
        }
-       if (fread(buf, 1, 16, fh) != 16) {
+       // Files smaller than buf will be padded with zeroes
+       memset(buf, 0, sizeof(buf));
+       if (fread(buf, 1, 16, fh) <= 0) {
                fclose(fh);
                return 0;
        }
@@ -312,6 +314,11 @@
                // imlib2 releases do not support heic/heif images as of 
2021-01.
                return 1;
        }
+       if ((buf[0] == 0xff && buf[1] == 0x0a) || !memcmp(buf, 
"\x00\x00\x00\x0cJXL \x0d\x0a\x87\x0a", 12)) {
+               // JXL - note that this is only supported in imlib2-jxl. 
Ordinary
+               // imlib2 releases do not support JXL images as of 2021-06.
+               return 1;
+       }
        buf[15] = 0;
        if (strstr((char *)buf, "XPM")) {
                // XPM
@@ -1159,7 +1166,7 @@
 
        if (buffer[0] == '\0')
        {
-               snprintf(buffer, EXIF_MAX_DATA, "%s", estrdup("Failed to run 
exif command"));
+               snprintf(buffer, EXIF_MAX_DATA, "%s", "Failed to run exif 
command");
                gib_imlib_get_text_size(fn, buffer, NULL, &width, &height, 
IMLIB_TEXT_TO_RIGHT);
                info_buf[no_lines] = estrdup(buffer);
                no_lines++;
@@ -1171,29 +1178,28 @@
                {
                        /* max 128 lines */
                        pos2 = 0;
-                       while ( pos2 < 256 ) /* max 256 chars per line */
+                       while ( pos2 < 255 ) /* max 255 chars + 1 null byte per 
line */
                        {
                                if ( (buffer[pos] != '\n')
                                      && (buffer[pos] != '\0') )
                                {
-                           info_line[pos2] = buffer[pos];
-                         }
-                         else if ( buffer[pos] == '\0' )
-                         {
-                           pos = EXIF_MAX_DATA; /* all data seen */
-                           info_line[pos2] = '\0';
+                                       info_line[pos2] = buffer[pos];
+                               }
+                               else if ( buffer[pos] == '\0' )
+                               {
+                                       pos = EXIF_MAX_DATA; /* all data seen */
+                                       break;
+                               }
+                               else
+                               {
+                                       pos++; /* line finished, continue with 
next line*/
+                                       break;
                                }
-                         else
-                         {
-                               info_line[pos2] = '\0'; /* line finished, 
continue with next line*/
-
-                           pos++;
-                           break;
-                         }
 
-                          pos++;
-                          pos2++;
+                               pos++;
+                               pos2++;
                        }
+                       info_line[pos2] = '\0';
 
                        gib_imlib_get_text_size(fn, info_line, NULL, 
&line_width,
                               &line_height, IMLIB_TEXT_TO_RIGHT);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-3.7/src/main.c new/feh-3.7.2/src/main.c
--- old/feh-3.7/src/main.c      2021-05-09 11:33:00.000000000 +0200
+++ new/feh-3.7.2/src/main.c    2021-09-25 09:24:31.000000000 +0200
@@ -158,8 +158,9 @@
 
        FD_ZERO(&fdset);
        FD_SET(xfd, &fdset);
-       if (control_via_stdin)
+       if (control_via_stdin) {
                FD_SET(STDIN_FILENO, &fdset);
+       }
 #ifdef HAVE_INOTIFY
     if (opt.auto_reload) {
         FD_SET(opt.inotify_fd, &fdset);
@@ -210,7 +211,12 @@
                                   in that */
                                feh_handle_timer();
                        }
-                       else if ((count > 0) && (FD_ISSET(0, &fdset)))
+                       /*
+                        * Beware: If stdin is not connected, we may end up 
with xfd == 0.
+                        * However, STDIN_FILENO == 0 holds as well in most 
cases. So we must
+                        * check control_via_stdin to avoid mistaking an X11 
event for stdin.
+                        */
+                       else if ((count > 0) && control_via_stdin && 
(FD_ISSET(STDIN_FILENO, &fdset)))
                                feh_event_handle_stdin();
 #ifdef HAVE_INOTIFY
                        else if ((count > 0) && (FD_ISSET(opt.inotify_fd, 
&fdset)))
@@ -227,7 +233,7 @@
                                        && ((errno == ENOMEM) || (errno == 
EINVAL)
                                                || (errno == EBADF)))
                                eprintf("Connection to X display lost");
-                       else if ((count > 0) && (FD_ISSET(0, &fdset)))
+                       else if ((count > 0) && control_via_stdin && 
(FD_ISSET(STDIN_FILENO, &fdset)))
                                feh_event_handle_stdin();
 #ifdef HAVE_INOTIFY
                        else if ((count > 0) && (FD_ISSET(opt.inotify_fd, 
&fdset)))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-3.7/test/feh.t new/feh-3.7.2/test/feh.t
--- old/feh-3.7/test/feh.t      2021-05-09 11:33:00.000000000 +0200
+++ new/feh-3.7.2/test/feh.t    2021-09-25 09:24:31.000000000 +0200
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 use 5.010;
-use Test::Command tests => 71;
+use Test::Command tests => 73;
 
 $ENV{HOME} = 'test';
 
@@ -186,3 +186,7 @@
 $cmd->exit_is_num(0);
 $cmd->stdout_is_file("test/${list_dir}/default");
 $cmd->stderr_is_eq('');
+
+$cmd = Test::Command->new( cmd => "$feh --list test/tiny.pbm" );
+$cmd->exit_is_num(0);
+$cmd->stderr_is_eq('');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-3.7/test/tiny.pbm new/feh-3.7.2/test/tiny.pbm
--- old/feh-3.7/test/tiny.pbm   1970-01-01 01:00:00.000000000 +0100
+++ new/feh-3.7.2/test/tiny.pbm 2021-09-25 09:24:31.000000000 +0200
@@ -0,0 +1,4 @@
+P4
+1 1
+
+

Reply via email to