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