When Microsoft created the Do Until control action, fortunately they took care to avoid situations where loops would run forever by adding control limits that terminate the loop even if the logic condition is not met. By default, a Do Until loop will terminate after 60 iterations or 1 hour (PT1H in ISO8601 notation). Using these controls, you can limit the actions to loop up to 5000 times and within the span of 1 month (P1M in ISO 8601 notation).
However, when building flows that involve triggers which respond to item changes, it is possible to get into situations, where the same Flow will call itself forever. Consider the example below.
In this example, the Flow is triggered by When an item is created or modified when an item is changed in the Email Recipients SharePoint list. Following the trigger is an action that modifies the same item which triggered the Flow in the first place. As a result, another iteration of the same Flow will be triggered as soon as that action completes.
You may not be able to completely avoid situations where Flow that is triggered by an item change event will change the same item. In those scenarios, you could create an additional field who's sole purpose is to determine whether the item should be updated again or not.
Now, your field will be used to control when the changes should be occurring to the item and, thus, when the Flow should be triggered.