UMR: unitialized memory read

A UMR message indicates that your program is about to read uninitialized memory.

image\umr.gif

Often, uninitialized memory will be zero, especially during unit testing. Your program will seem to perform correctly but the UMR can eventually cause incorrect behavior.

It is common, and correct behavior, for a program to copy uninitialized data from one variable to another. A frequent case is during structure assignment when the structure being copied has inaccessible padding bytes. For this reason, Purify does not report UMR messages on copies, but instead reports a (suppressed) UMC and propagates the uninitialized status to the destination of the copy.