I believe when you upload your code it will throw an error that your source and destination bucket are the same, which will prevent this type of looping.
I have a Lambda for processing large files; the first phase is a single Lambda splitting the file into chunks which can be processed within the 60 second limit, and then the second phase is a bunch of the same Lambdas processing those chunks.
(Disclosure: I work with nicksergeant at Localytics.)