Date: Thu, 08 Oct 2015 19:27:00 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 203648] makefs: Coverity CID 1008927: sizeof() compared against desired bit count rather than byte count Message-ID: <bug-203648-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203648 Bug ID: 203648 Summary: makefs: Coverity CID 1008927: sizeof() compared against desired bit count rather than byte count Product: Base System Version: 11.0-CURRENT Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: bin Assignee: freebsd-bugs@FreeBSD.org Reporter: scdbackup@gmx.net usr.sbin/makefs/cd9660/iso9660_rrip.c CID 1008927: Operands don't affect result (CONSTANT_EXPRESSION_RESULT) result_independent_of_operands: (uint64_t)fnode->inode->st.st_dev >> 32 is 0 regardless of the values of its operands. This occurs as an argument to a function call. 660 cd9660_bothendian_dword((uint64_t)fnode->inode->st.st_dev >> 32, 661 pn_field->attr.rr_entry.PN.high); --------------- Source analysis: The complained statement is in an if case which obviously shall take care for 64-bit dev_t. But the test expression looks for 256-bit dev_t (which i doubt that it does exist anywhere). if (sizeof (fnode->inode->st.st_dev) > 32) cd9660_bothendian_dword((uint64_t)fnode->inode->st.st_dev >> 32, pn_field->attr.rr_entry.PN.high); else cd9660_bothendian_dword(0, pn_field->attr.rr_entry.PN.high); --------------- Remedy proposal: - if (sizeof (fnode->inode->st.st_dev) > 32) + if (sizeof (fnode->inode->st.st_dev) > 4) -- You are receiving this mail because: You are the assignee for the bug.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-203648-8>