f233325
diff -up diffutils-3.6/src/cmp.c.cmp-s-empty diffutils-3.6/src/cmp.c
f233325
--- diffutils-3.6/src/cmp.c.cmp-s-empty	2017-05-18 18:39:59.000000000 +0100
f233325
+++ diffutils-3.6/src/cmp.c	2017-05-22 10:53:28.477147864 +0100
f233325
@@ -330,12 +330,15 @@ main (int argc, char **argv)
f5a08e3
 
f5a08e3
   /* If only a return code is needed,
f5a08e3
      and if both input descriptors are associated with plain files,
f5a08e3
+     and if both files are larger than 0 bytes (procfs files are always 0),
f5a08e3
      conclude that the files differ if they have different sizes
f5a08e3
      and if more bytes will be compared than are in the smaller file.  */
f5a08e3
 
f5a08e3
   if (comparison_type == type_status
f5a08e3
       && S_ISREG (stat_buf[0].st_mode)
f5a08e3
-      && S_ISREG (stat_buf[1].st_mode))
f5a08e3
+      && S_ISREG (stat_buf[1].st_mode)
f5a08e3
+      && stat_buf[0].st_size > 0
f5a08e3
+      && stat_buf[1].st_size > 0)
f5a08e3
     {
f5a08e3
       off_t s0 = stat_buf[0].st_size - file_position (0);
f5a08e3
       off_t s1 = stat_buf[1].st_size - file_position (1);