In languages which don’t initialize values, this needs to be explicitly done in order to avoid capturing what random bytes are in memory when run.
An example taken from coreboot:
The code used to write a data structure directly without initializing all its fields. The fix was pretty simple once identified:
Usage of instrumentation tools able to detect such cases like Valgrind should help identifying such problems.