Bug 203924

Summary: makefs: Coverity CID 976924: False positive
Product: Base System Reporter: scdbackup
Component: binAssignee: Ed Maste <emaste>
Status: Closed Not A Bug    
Severity: Affects Only Me CC: emaste
Priority: ---    
Version: CURRENT   
Hardware: Any   
OS: Any   

Description scdbackup 2015-10-21 12:47:56 UTC
usr.sbin/makefs/cd9660.c

CID 976924: Memset fill value of '0' (NO_EFFECT)bad_memset: Memset with
   fill value '0' (the zero character).

684        memset(diskStructure.primaryDescriptor.expiration_date, 48, 16UL).
685        diskStructure.primaryDescriptor.expiration_date[16] = 0;

--------------- Source analysis:

This is correct. ECMA-119 8.4.26.1 says:
"If all characters in RBP 1 to 16 of this field are the digit ZERO
 and the number in RBP 17 is zero, it shall mean that the date and
 time are not specified."

"digit ZERO" means ASCII 48 = '0', "zero" means ASCII 0 = NUL.

--------------- Remedy proposal:

In Coverity classify CID 976924 as "False positive" and set its Action
to "Ignore".
Comment 1 Enji Cooper freebsd_committer freebsd_triage 2015-10-25 22:12:59 UTC
Bulk taking makefs bugs.
Comment 2 Enji Cooper freebsd_committer freebsd_triage 2017-11-05 20:47:22 UTC
Releasing bugs back to the pool.
Comment 3 Ed Maste freebsd_committer freebsd_triage 2023-03-23 17:28:22 UTC
This is (now) marked as Intentional in Coverity.