En programación informática , una rama salvaje es una instrucción GOTO en la que la dirección de destino es indeterminada, aleatoria o no deseada. [1] Suele ser el resultado de un error de software que provoca la corrupción accidental de un puntero o índice de matriz . Es "salvaje" en el sentido de que no se puede predecir que se comporte de forma consistente. En otras palabras, una rama salvaje es un puntero de función que es salvaje (que cuelga).
La detección de ramificaciones salvajes es frecuentemente difícil; normalmente se identifican por resultados erróneos (donde la dirección de destino no deseada es, no obstante, una instrucción válida que permite que el programa continúe a pesar del error) o una interrupción de hardware , que puede cambiar dependiendo del contenido de los registros . A veces se pueden utilizar depuradores y programas de monitorización, como simuladores de conjuntos de instrucciones, para determinar la ubicación de la ramificación salvaje original.