new_buf_len needs to be > 0 as we already account for the control character.