images\warning_sml.gifUMR: Uninitialized Memory Read (Error Detection)

Example       Related Topics

A UMR message indicates that the program is about to read uninitialized memory, meaning the program is relying on data where the value can change unexpectedly. Often, especially during unit testing, uninitialized memory is zero.

Purify distinguishes between copies of uninitialized data, such as structure padding, and the use of uninitialized data in calculations. Purify reports the former as an Uninitialized Memory Copy (UMC) and the latter as a UMR. Therefore, you should treat each UMR report as a separate problem you need to fix.

Purify might attribute a UMR to the closing brace of a function. This is probably because one or more execution paths did not assign a return value for the function and the value from an uninitialized location on the stack is being loaded into the register to be used as the return value. Check all possible return locations.

(C) Copyright IBM Corporation 1992, 2010.