...
EXP33-EX1: Reading uninitialized memory of type unsigned char
does not trigger undefined behavior. The unsigned char
type is defined to not have a trap representation (see the C Standard subclause 6.2.6.1p31 paragraph 3), which allows for moving bytes around without knowing whether if they 've been are initialized or not. However, on some architectures, such as the Intel Itanium, registers have a bit to indicate whether they have been initialized or not. According to 6 The C Standard subclause 6.3.2.1p21 paragraph 2, allows such architectures are allowed implementations to cause a trap for an object that never had its address taken and is stored in a register -stored variable if they are if such an object is referred to in any way.
Risk Assessment
...