Blame SOURCES/diffutils-cmp-s-empty.patch

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