The correct option is B will have returned
In order to discern the correct tense to be used in any sentence, we have to keep in mind two things - one, if the options provided make grammatical sense within the framework of the given sentence; and two whether the secondary action in the sentence has completed or is in the process of unfolding WITHIN the relevant timeframe. In this case, we see that the he will arrive by the upcoming time of midnight, ruling out the past tense Option A), and Options C) and D) do not grammatically agree with the rest of the sentence as the time hasn't passed yet. This leaves us with Option B) - the correct answer, and of the future perfect form - which is obtained by adding 'will or shall have/has' (depending on singular or plural subject)' to the past participle of the verb. The verb in question is 'to return'; for which the past participle is 'returned'. Applying the above, we clearly get 'will have returned', which is the correct answer.