Это "безопасно", поскольку указатель, полученный в результате преобразования int => void => int, будет таким же, как и исходный указатель.
Это не «безопасно», поскольку легко ошибиться, и вы должны быть осторожны (тем не менее, этот тип кода часто необходим в C, так как void*
часто используется как формаобобщение).