Wait, I'm 100% sure this is a bug not detected because some reviewer was on vacation...

@oliviertoupin, I'm pretty sure this is a non-terminating (tail-)recursive function because of this third parameter...