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 <rpm(a)fthiessen.de>
+
+- 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 <derf+feh(a)finalrewind.org>
+
+* Release v3.7.2
+ * Fix crash when running feh without stdin file descriptor
+
+Sat, 24 Jul 2021 22:30:12 +0200 Daniel Friesel <derf+feh(a)finalrewind.org>
+
+* 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 <derf+feh(a)finalrewind.org>
* 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 <derf+feh(a)finalrewind.org>
+
* 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
+
+