diff options
-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 + + |