News for hackers. Stuff that matters.
Re:The Lost Art of Structure Packing (2018) by icedchai on Monday April 27, 2020 @09:45PM (#23002435)
memset definitely writes to padding bytes, as noted by several other folks here. you observe these padding bytes during serialization and deserialization (disk, network, memory mapped buffer, etc.)

Note this is important enough that compiler folks consider it a bug if it doesn't work correctly. see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92486 for a recent example involving memset and memcpy.

Re:The Lost Art of Structure Packing (2018) by saagarjha on Tuesday April 28, 2020 @01:57AM (#23003888)
As mentioned in the bug report, the value of padding bytes is unspecified by the C standard. Actually, according to the linked Defect Report mentioned in the bug, there is a bit of discussion on whether the functions you mentioned should be entirely undefined to call or if some exceptions should be carved out. If the functions are legal to call, it is very likely that the results will be some arbitrary reification of the unspecified value.
Re:The Lost Art of Structure Packing (2018) by icedchai on Tuesday April 28, 2020 @09:51AM (#23006930)
There is some discussion of that, but it is wrong. There are many comments there, so you should read the whole bug report. The value of the padding bytes must be what is specified in memset.