Let's See a Experiment
Why
Because the first function allocate a buffer on stack and return it, and second
function allocate a buffer on heap. Heap memory won't be free after call
the function, but the stack behavior oppositely. So it's why I gotten a
warning from GCC.