Ваш указатель указывает на локальную переменную функции. Поэтому, как только вы вернетесь из функции, память освобождается.
Вместо char *rtnPtr = word;
сделайте это char *rtnPtr = malloc(length);
, чтобы оно было доступный в основной функции. После его использования освободите память.