Yes, that sentence is correct!
The future in English is not only formed with will or other auxiliary verbs. There are people that argue that English does actually not have a future tense at all!
Whether or not one agrees on that statement, there is definitely an obvious difference between English (and some Germanic sister languages like Dutch and German) and the Romance languages in the formation of grammatical tenses.
French or Italian, like Latin, can express a future tense in much the same way they express a grammatical number: by changing the suffix of the verb. In English there are hardly any suffixes for the grammatical number (the 3rd person singular takes an -s, and that is just about it!) and for different tenses, only the simple past shows in the verb ending (as -ed).
To indicate that something will happen at some point in the future, rather than now or in the past, we use extra words to signal that. We can use auxiliary verbs like will to indicate that (sometimes called the future tense), but we can also simply use words or phrases that describe a future moment, like next week, tonight or tomorrow. This is quite an interesting process, and not always very simple...
Look what happens to this simple present (continuous) sentence:
I am eating.
It means that presently, I am in the act of consuming food. I can even say what I am eating, and where, and it still is present:
I am eating a steak in a restaurant.
But now, I can add when I am eating, and all of a sudden the sentence gets a future meaning!
Tonight, I am eating a steak in a restaurant.
This is a normal way to express that I plan to eat at a future moment.
If you use the word when to indicate a certain moment in time, you can also use a grammatical present tense and still get a future meaning:
Please tell me when you are ready.
You are not ready now, you will be at some future moment, and then I want you to tell me.
Your original example came from a song, YouTube has The Beatles singing one with a very similar construction: When I'm Sixty-Four.