¿Salir fuera de alcance como este libera la memoria asociada?

Me preguntaba, en el siguiente escenario, ¿la memoria utilizada por 'stringvar' liberada después de que se haya ejecutado method1?

// Just some method
void method2(char* str)
{
  // Allocate 10 characters for str
  str = malloc(10 * sizeof(char));
}

// Just another method
void method1()
{
  char* stringvar;
  method2(stringvar);

  // Is the memory freed hereafter, or do I need to call free()?
}

Lo pregunto, porque si pongo 'libre (stringvar)' al final del método 1, recibo una advertencia de que stringvar está unitalizado dentro del método 1 (que es cierto).

Respuestas a la pregunta(5)

Su respuesta a la pregunta