Очевидно, автора интересует аналог strdup, принимающий только 1 указатель и знающий, сколько копировать. Зная размер, любой дурак сможет дёрнуть malloc и memcpy.
man malloc_usable_size и тот самый велосипед в три строки.
Да, не по стандарту, но ничего не поделаешь. Другой вариант - только выдёргивать размер из тега вручную, но это ещё хуже.