Description

Causing a change in flow, due to an exception, can often leave the code in a bad state.

Consequences

Implementation: The code could be left in a bad state.

Exposure period

Implementation: Many logic errors can lead to this condition.

Platform

Languages: Java, C, C# or any language which can throw an exception.

Operating platforms: Any

Required resources

Any

Severity

Medium

Likelihood of exploit

Medium

Often, when functions or loops become complicated, some level of cleanup in the beginning to the end is needed. Often, since exceptions can disturb the flow of the code, one can leave a code block in a bad state.