サンプル

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

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

return 0;
}

ソリューション
フリー関数にはポインターを渡す必要があります。

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

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

return 0;
}