ты же можешь ссылку на буфер предоставить не в стеке а в секции данных, разделить его, так чтоб функции которые не должны буфер использовать одновременно - использовали разные, а там где это не принципиально использовать все буферы как объединение размером в самый длинный буфер.