Output signal length after fft
There are lots of FFT algorithms, and they don't all require power of 2 sizes.  For instance, you can do any size (including prime sizes like 7) with Bluestein's (Chirp-Z) algorithm, and the algorithm is still fast ($N \log(N)$).

I've heard that MATLAB uses FFTW under the hood, and FFTW includes many (all?) of these other algorithms.  So MATLAB can do a length 7 FFT without rounding it to a power of 2.