[Bug 203648] makefs: Coverity CID 1008927: sizeof() compared against desired bit count rather than byte count
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Oct 8 19:27:00 UTC 2015
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 at FreeBSD.org
Reporter: scdbackup at 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.
More information about the freebsd-bugs
mailing list