Ejemplo

int main(int argc, char* argv[])
{

char *data;
data =  (char *) malloc(sizeof(char));
free(*data);

return 0;
}

Solución
Debe pasar un puntero a la función libre.

int main(int argc, char* argv[])
{

char *data;
data =  (char *) malloc(sizeof(char));
free(data);

return 0;
}