Это неопределенное поведение, чтобы отбросить константу параметра функции?

Представьте, что у меня есть эта функция C (и соответствующий прототип в заголовочном файле)

void clearstring(const char *data) {
    char *dst = (char *)data;
    *dst = 0;
}

Есть ли неопределенное поведение в приведенном выше коде,кастингconst прочьили это просто ужасно плохая практика программирования?

Предположим, что не используются объекты с константой

char name[] = "pmg";
clearstring(name);

Ответы на вопрос(2)

Ваш ответ на вопрос