To extend or reduce the size of a block, one must allocate a new block of adequate size, copy over the old memory, and delete the old block.
Для увеличения или уменьшения размера блока памяти нужно выделить новый блок нужного размера, скопировать данные из старой памяти и удалить старый блок.