Use dynamic buffer for data, fixed for cdata