Вам не нужно выделять буфер, но он, вероятно, более надежен. Тем более, что вы находитесь во встроенной системе, скорее всего, без отладчика, поэтому, если кто-то передает вам строку из стека вызывающего, вы попадаете в ловушку. Попытка выяснить, в чем проблема такого рода, похожа на иголку в стоге сена. Короче говоря, если кто-то передает вам некоторые данные, очень трудно гарантировать, что память будет сохраняться, поэтому вам лучше позаботиться о распределении самостоятельно.