C - Se o realloc for usado, é necessário gratuitamente?

Quando se utiliza o realloc, a memória é liberada automaticamente? Ou é necessário usar gratuitamente com realloc? Qual das alternativas a seguir está correta?

//Situation A
ptr1 = realloc(ptr1, 3 * sizeof(int));

//Situation B
ptr1 = realloc(ptr2, 3 * sizeof(int));
free(ptr1);
ptr1 = ptr2;

questionAnswers(5)

yourAnswerToTheQuestion