Will this leak memory?

You seem to have known size at compile time, there is no reason to have dynamic allocation