Wild branch

In computer programming, a wild branch is a GOTO instruction where the target address is indeterminate, random or otherwise unintended. It is usually the result of a software bug causing the accidental corruption of a pointer or array index. It is "wild" in the sense that it cannot be predicted to behave consistently. In other words, a wild branch is a function pointer that is wild (dangling).

Detection of wild branches is frequently difficult; they are normally identified by erroneous results (where the unintended target address is nevertheless a valid instruction enabling the program to continue despite the error) or a hardware interrupt, which may change depending upon register contents. Debuggers and monitor programs such as Instruction set simulators can sometimes be used to determine the location of the original wild branch.