Bug #3060
closedsys/boot/common/module.c:247: logical fault ?
0%
Description
dragonfly/sys/boot/common/module.c:247] -> [dragonfly/sys/boot/common/module.c:254]: (warning) Identical condition 'got==0', second condition is always false
Source code is
got = read(fd, buf, 8192);
                if (got  0)
                        break;
                if (got < 0) {
                        printf("error reading '%s': %s\n",
                                name, strerror(errno));
                        break;
                }
                if (got  0)
                        crc = iscsi_crc32(buf, got);
                else
                        crc = iscsi_crc32_ext(buf, got, crc);
	So it looks like the crc code is never executed.
      
      Updated by lubos about 8 years ago
      
    
    I think the second condition should be checking `crc' instead, like this:
diff --git a/sys/boot/common/module.c b/sys/boot/common/module.c
index 449e64d..24ff89e 100644
--- a/sys/boot/common/module.c
++ b/sys/boot/common/module.c@ -251,7 +251,7 @ command_crc(int argc, char *argv[])
                                name, strerror(errno));
                        break;
                }
-               if (got  0)
               if (crc  0)
                        crc = iscsi_crc32(buf, got);
                else
                        crc = iscsi_crc32_ext(buf, got, crc);