diff options
author | Daniel Friesel <derf@finalrewind.org> | 2021-06-21 18:52:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-21 18:52:18 +0200 |
commit | 87d9b7edb0e348c606d0d064e8db998ee9cec208 (patch) | |
tree | d243a0815fdef1e8b10129c9eca75edaa841d507 | |
parent | bc372c8faddd396b2d07470139b62290f499881f (diff) | |
parent | 0e4592a5e39261ef02c8502f92703b128ad59ffc (diff) |
Merge pull request #615 from DavidBuchanan314/master
Fix feh_is_image for tiny (<16 byte) image files
-rw-r--r-- | src/imlib.c | 4 | ||||
-rw-r--r-- | test/feh.t | 6 | ||||
-rw-r--r-- | test/tiny.pbm | 4 |
3 files changed, 12 insertions, 2 deletions
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; } @@ -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 + + |