From 79f2dffe1b5f5c6656285ce0bc65b5e4c5c9bb10 Mon Sep 17 00:00:00 2001 From: David Buchanan Date: Mon, 21 Jun 2021 17:24:23 +0100 Subject: Add test case for tiny PBM file --- test/feh.t | 6 +++++- test/tiny.pbm | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 test/tiny.pbm diff --git a/test/feh.t b/test/feh.t index 44f705f..157125d 100644 --- a/test/feh.t +++ b/test/feh.t @@ -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 $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 --git a/test/tiny.pbm b/test/tiny.pbm new file mode 100644 index 0000000..3fb3e4e --- /dev/null +++ b/test/tiny.pbm @@ -0,0 +1,4 @@ +P4 +1 1 + + -- cgit v1.2.3 From 0e4592a5e39261ef02c8502f92703b128ad59ffc Mon Sep 17 00:00:00 2001 From: David Buchanan Date: Mon, 21 Jun 2021 17:24:50 +0100 Subject: Fix feh_is_image for tiny files --- src/imlib.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/imlib.c b/src/imlib.c index 3a7cb6d..6f31e96 100644 --- a/src/imlib.c +++ b/src/imlib.c @@ -253,7 +253,9 @@ int feh_is_image(feh_file * file) 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; } -- cgit v1.2.3