Зачем это копирование? Не лучше ли было сразу выделить память (при необходимости) в ```dst``` и записывать результат туда?