Suppose in a C++ program I use a memory region for temporarily storing an encryption key and don't overwrite that region afterwards. Then my program wants to send a data packet over the network.
Due to an error in code it reads not only the prepared data packet but also an adjacent memory region and the latter happens to be the same as the region which was previously used for the key. So although the program never planned to do so it does transfer the secret over the wire.
Is there a common name for such kind of software defects?