A un bucle "for" en la forma:
for (; ;)
cuerpo_del_bucle
se le conoce como bucle sin fin (o
endless loop) ya que este no termina en base a su condición (cuando esta se omite es igual a utilizar 1).
Para que el bucle termine se debe utilizar una sentencia "break;" (para terminar el bucle) o bien una sentencia de retorno (para terminar la función).
Un saludo